Figuring Out How To Access Methods

I have an advertiser model and an experiment model. I've setup the associations as follows:

Advertiser has_many :experiments Experiment belongs_to :advertisers

The experiments table has a column titled "experiment_type", which can either be AOV or Conversion. I am trying to display experiments for the particular advertiser by experiment_type.

I can successfully display ALL of the experiments by advertiser with the following iteration

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

Or I can successfully display all the experiment_type with the following iteration

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

What I cannot figure out is how to show the experiment_type by advertiser. I thought something like

<% @advertiser.aov.each do |experiments| %> would work, but it gives me an undefined method `aov' for #<Advertiser:

Any help would be appreciated. Thanks in advance.

It sounds like you wanted to do this:


Something like @advertiser.experiments.where(experiment_type: "AOV").each do |experiment| will get you all the AOV experiments (I have assumed that this is actually a string "AOV"). Note that I have said do |experiment| with singular experiment. This makes no difference to the way the code works but makes it clear that this is a single experiment so that looks meaningful.

In fact you would be better to write scopes for AOV and Conversion as then the code will read even better and you would save some typing.