如何在我的视图中使用帮助程序?

时间:2013-09-18 03:27:15

标签: ruby-on-rails

我在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文件,但我得到了相同的东西。我错过了什么?感谢。

1 个答案:

答案 0 :(得分:2)

您似乎正在使用视图助手来呈现display_ratingself的使用在这里不准确。您必须实现该辅助方法,如:

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)