FAQ: Associations I - Display all tags

This community-built FAQ covers the “Display all tags” exercise from the lesson “Associations I”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Learn Ruby on Rails

FAQs on the exercise Display all tags

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

Does anyone know how to get the iteration to work? I think my syntax is right, but not sure… don’t we use <% %> ?

Used this in an actual ERB setup and it worked… not sure what the exercise is wanting us to do…

<% @tags.each do |title, image| %>
     <div class="card col-xs-4">
         <%= image %>
         <h2> <%= title %> </h2>
<% end %>

What in the world are we supposed to do in step 4?

This worked for me

<% @tags.each do |tag| %>

<%= tag.image %>

<%= tag.title %>

<% end %>


Oddly enough, the solution has a todo comment where this code is supposed to be. Huh. I just looked back at the previous project’s HMTL index to see an example.

 <%= @tags.each do |t| %>
      <div class="card col-xs-4">
        <%= image_tag(t.image) %>
        <h2> <%= t.title %> </h2>
      <% end %>

This one worked fine

1 Like
> <% @tags.each do |t| %>
>       <div class="card col-xs-4"> 
>         <%= image_tag( t.image ) %>
>         <h2> <%= t.title %> </h2>
>       </div>
>  <% end %>

> Do not add the equal sign while performing iteration. = means echo


Is that not what we want it to do? echo prints the content to the element it is embedded in. The object is to generate well formed markup around all the scoped data, hence the template.

if we use echo while performing the iteration. It prints the seed from the database.

Not sure I follow. tags is the scoped data array that is being iterated over as I see it. How else do we write it into the template? (‘echo’ is your word, but also a PHP keyword that performs similarly the same task.)

echo "<p><img src=\"$t.image\"><br>$t.title</p>";

The above is pseudo code. Don’t try to run it.

What I mean by echo is! The = sign after % in the iterator, output (copies) and display what is there in the database. Hope you understand!

One difference in our perspective is I don’t see the data as a database, but a data table, or more particularly, a data array. An index view doesn’t query the data; it polls the data via iteration.

If we seed the database. To be more precise = equal sign means I want the results to be displayed. Hope this gives you clear idea.

Which brings us back to this. It contradicts what this is saying,


That is the reply for this bloke! mate

I coded the same thing but didn’t work so I asked for the solution to be able to keep going which helped me with that but didn’t give me the solution . strange!

This worked for me…

  <% @tags.each do |t| %>
      <div class="card col-xs-4">
          <img src="<%= t.image %>">
          <h2><%= t.title %></h2>
  <% end %>
1 Like