我在Rails 4上,我正在制作葡萄酒评论应用程序,每个葡萄酒都有一个页面。在葡萄酒页面(show.html.erb)上,我列出了该葡萄酒的所有评论。我正在尝试制作一个简单的方法,显示评论中给出的评级,我试图在我的评论帮助文件中进行评估
module ReviewsHelper
def display_rating
if self.rating == 1
"<div class='btn btn-success'>:)</div>"
elsif self.rating == 2
"<div class='btn btn-warning'>:|</div>"
else
"<div class='btn btn-danger'>:(</div>"
end
end
end
出于某种原因我得到异常undefined method 'display_rating' for #<Review:0x007fc89bae6148>
当我尝试加载我的葡萄酒页面时。我已经尝试将该方法移动到WineHelper.rb文件,但我得到了相同的东西。我错过了什么?感谢。
答案 0 :(得分:2)
您似乎正在使用视图助手来呈现display_rating
。 self
的使用在这里不准确。您必须实现该辅助方法,如:
def display_rating(obj)
if obj.rating == 1
"<div class='btn btn-success'>:)</div>"
elsif obj.rating == 2
"<div class='btn btn-warning'>:|</div>"
else
"<div class='btn btn-danger'>:(</div>"
end
end
然后调用该方法:
display_rating(@obj)