弄清楚如何访问方法

时间:2016-07-01 13:49:30

标签: ruby-on-rails methods

我有广告客户模型和实验模型。我已经设置了 协会如下:

Advertiser has_many :experiments

Experiment belongs_to :advertisers

实验表有一个标题为“experiment_type”的列,可以 要么 AOV ,要么转化。我正在尝试展示实验 由experiment_type提供的特定广告客户。

我可以成功地显示广告客户的所有实验 以下迭代

<% @advertiser.experiments.each do |experiments| %>
 <td><%= experiments.id %></td>
 <td><%= experiments.name %></td>
<% end %>

或者我可以使用以下内容成功显示所有experiment_type 迭代

<% @aov.each do |experiments| %>
 <td><%= experiments.id %></td>
 <td><%= experiments.name %></td>
<% end %>

我无法弄清楚如何显示experiment_type 广告客户。我想像

<% @advertiser.aov.each do |experiments| %>可行,但它给了我

  

未定义的方法`aov'代表#

我的实验控制器中的aov动作是

def set_aov_experiments
    @aov = Experiment.where("experiment_type = ?", "AOV")    
end

任何帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:2)

您收到此错误,因为aov不是模型实体广告客户的方法。

如果您想像这样使用它,请将其放在广告商模型上:

def aov
  experiments.where(experiment_type: 'AOV')
end