ben*_*_an 6 methods model-view-controller model ruby-on-rails ruby-on-rails-3
我试图评估哪个指标需要显示在项目旁边,如果它之前是否被查看过,新评论等等.在我决定使用的符号之前,我只想要一个数字来显示.
在我的报告模型中我有
def self.indicator
#bunch of if elsif statements returning a number 0-3
end
Run Code Online (Sandbox Code Playgroud)
在我看来,我有
<% @reports.each do |report| %>
<%= report.indicator %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我明白了 undefined method 'indicator'
我以为我掌握了方法的运作方式......但显然不是,我做错了什么?
尝试
def indicator
#bunch of if elsif statements returning a number 0-3
end
Run Code Online (Sandbox Code Playgroud)
你不需要自我,因为[纠正]是一个班级方法.
在您的视图中,您indicator在每个报表对象上调用实例方法
report.indicator
Run Code Online (Sandbox Code Playgroud)
但是在您的模型中,您已经定义了一个类方法.因此,为了使其工作,将指标方法定义为实例方法:
def indicator
#bunch of if elsif statements returning a number 0-3
end
Run Code Online (Sandbox Code Playgroud)