У меня есть приложение ruby on rails и я пытаюсь отобразить рейтинг звезд, который пользователь дал на странице индекса. Мне нужно только количество столбцов звезд, но ничего, что я делаю, похоже, работает, может кто-то помочь.Как получить данные из одного столбца в другой таблице?
В моей index.html.erb У меня есть следующий код:
Your star rating: <%= number_with_precision(product.user_star_rating, :precision => 1)%>
и метод в моем product.rb:
has_many :reviews
belongs_to :category
def user_star_rating
user_id = session[:user_id]
scope :userrating, -> { where('user_id = ?', user_id)}
self.reviews.user_id('no_of_stars')
end
В моем reviews.rb у меня есть отношения:
belongs_to :product
belongs_to :user
validates :review_text, :presence => { :message => "Review text: cannot be blank ..."}
validates :review_text, :length => {:maximum => 2000, :message => "Review text: maximum length 2000 characters"}
validates :no_of_stars, :presence => { :message => "Stars: please rate this book ..."}
в строке self.reviews.user_id («no_of_stars») Я пытаюсь получить количество звезд, которые особенно нам er дал для продукта и вернул его, но я не уверен, что какой-либо из кода в этом методе прав.
Может кто-нибудь помочь? Заранее спасибо.
что это за self.reviews.user_id («no_of_stars»)? Вы рассчитываете на количество отзывов? Просьба предоставить более подробную информацию о логике, как вы оцениваете рейтинг продукта? – Ajay
Пожалуйста, разместите свой код контроллера. – eabraham