我想添加实例方法(或类),但constatly得到unefined方法错误。
网站与报告相关联,具有价值。我需要得到这个价值。
这里我想在我的观点中调用它:
<%websites.each do |website|%>
//and use website.amount here
以下是来自WebsiteController的代码(我知道此代码适用于类方法):
def self.amount
self.performance_report.conversions
end
我不知道如何正确使用它,它应该是类还是实例方法以及它应该如何?
答案 0 :(得分:2)
您应该在模型中添加该方法,而不是在控制器中。这是一个实例方法,因此它应该是def amount
:
class Website < ActiveRecord::Base
def amount
self.performance_report.conversions
end
end
使用此功能,您可以在视图中执行以下操作:
<% websites.each do |website| %>
<%= website.amount %>
<% end %>
答案 1 :(得分:0)
Website.find()返回网站的实例。
如果一个网站有一个performance_report,而PerformanceRecord有一个字段转换,
Website.find(38).performance_report.conversions
应该无需定义任何方法。如果这不能按预期工作,您应该检查您的关联定义。在Controller上定义类方法不会有任何影响。