FOR loop.... has many belongs to?

Hey,

I followed Ryan B. tutorials here about implemting checkboxes with
has and belongs to many relationships.

http://railscasts.com/episodes/17-habtm-checkboxes

In case you dont have time to watch it, heres a quick summary–


Products and categories have the has and belongs to many relationship
between them.

Then, in the products form, you can put this for creating check boxes,
the ultimate goal of assigning this product with many categories–

<% for category in Category.find(:all) %>

<%= check_box_tag "product[category_ids][]", category.id, @product.categories.include?(category) %> <%= category.name %>
<% end %>

Ok great, that works.

the checkboxes all submit. It works great.

But my question is–

How can I display what categories a certain product belongs to? Most
likely using a FOR loop, but I’m not too sure how to make one that
displays the categories of a product.

Thanks, and feel free to ask more questions if u dont understand :slight_smile:
thanks

<%= @product.categories.map(&:name).to_sentence %>

Hmmm thanks for the reply… but nothing is showing up. no error
message though… is there a way to do this with a for loop?

I dont understand that peice of code… im a rails noobie. could you
breifly explain? Thanks

This is saying that a product has many categories. The category name
will map to an array then the .to_sentence outputs each item as
1,2,3. nicely.

Thanks, but are you sure this works with has and belongs to many?

If you have a product instance you can do @product.categories correct
which returns an array of categories?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs