我遇到了一个奇怪的错误。我为我的模型定义了一个方法。
然后,在我的控制器上,我定义了这个实例:
我收到了这个错误信息。
为什么变量不像具有适当属性和方法的实例一样行事,而是作为关系?它在控制台上运行正常,但在服务器上却无法正常工作...
class Rating < ActiveRecord::Base
[...]
belongs_to :user
belongs_to :movie
[...]
def to_text
texto = case self.grade
when 0..1 then "horrible"
when 2..3 then "bad"
when 4..5 then "not bad"
when 6..7 then "good"
when 8..9 then "very good"
when 10 then "master piece"
end
end
end
然后,在我的控制器上,我定义了这个实例:
@current_user_rating=@movie.ratings.where(:user_id => current_user)
它确实找到了,所以它是有效的。但是,当我调用该方法或属性时,例如
<%= @current_user_rating.grade %>
<%= @current_user_rating.to_text %>
我收到了这个错误信息。
undefined method `grade' for []:ActiveRecord::Relation
undefined method `to_text' for []:ActiveRecord::Relation
为什么变量不像具有适当属性和方法的实例一样行事,而是作为关系?它在控制台上运行正常,但在服务器上却无法正常工作...
each
之前缺少'.');) - Mike Tunnicliffe