Model associations and arrays of hashes

Hi everyone, I’m new to ruby/rails and trying to build a simple
Projects / Tags app where Projects and Tags are associated as
has_and_belongs_to_many to each other. It’s basically a simple list of
projects that have tags associated, and those tags in turn can be re-
used by multiple projects.

I’ve been loading tags into projects like this:

my_project = Project.create(:name => “My Project”)
my_tag = Tag.create(:content => “My Tag”)
my_project.tags << my_tag

All appears well until I try to load the info into my View. I have a
list of projects, each with a small table below that lists the
associated tags:

<% @projects.each do |project| %>
<%= project.name %> <%= link_to 'Edit project', edit_project_path(project) %> <%= link_to 'Nuke project', project, :confirm => 'Are you sure?', :method => :delete %>
<%= project.tags %>
<% end %>

The View output I get is:

[1] My Project Edit Project Nuke Project
[2] [#<Tag id: 1, content: “My Tag”, created_at: “2012-03-27
19:27:26”, updated_at: “2012-03-27 19:27:26”>, #<Tag id: 2, content:
“My Other Tag”, created_at: “2012-03-27 19:41:04”, updated_at:
“2012-03-27 19:41:04”>]

In line [2] How do I go about only displaying the values of :content
and not the entire hash? Also - is this how I should associate tags
with projects?

Would be great if anyone could point me in the right direction. Much
appreciated!!

Thanks!
Jason

On 27 March 2012 22:10, @jikche [email protected] wrote:

my_project.tags << my_tag

<%= link_to 'Edit project', <% end %> In line [2] How do I go about only displaying the values of :content and not the entire hash? Also - is this how I should associate tags with projects?

project.tags is the complete set of tags for that project. To show
the individual tag details use an each loop on project.tags in the
same way as you have for the projects themselves, so something like
<% project.tags.each do |tag| %>
and display tag.whatever.

Colin