Inserting data into a JOIN table!


I have a roles table, permissions table and a rights join table. I
have has_many :through relationships between the two tables.

Roles Permissions Rights table
id name id name role_id permission_id
1 User 1 posts/new 1 2
2 Admin 2 posts/create 2 2

In the admin side of the app I create new roles and permissions. But I
wanted to be able to assign values to the rights table in an easy way,
so I created a rights controller and a view to show the current values
and assign new permission to certain roles via checkboxes.

Permissions User Admin
posts/new <checkbox> <checkbox>
posts/edit <checkbox> <checkbox>
posts/destroy <checkbox> <checkbox>
posts/create <checkbox checked> <checkbox checked>

I have some code on my view where I save the permission_ids selected
onto a hash, but I'll like to save the roles_ids too. How can I post
both of them to save them later on the controller in the rights table?
The problem that I have is that I can post a hash of permission_ids,
but I also need the role_ids hash. The examples I have looked at only
need to post one hash and the other value needed to fill the join
table is the current_user id. In this case I need permission and role
ids. Any ideas on how to post this values into the controller?

Portion of my view

      <% for permission in Permission.find(:all, :order => "name ASC")
        <tr class=<%= cycle('even','odd') %>>
            <td><%=h %></td>

          <% for role in Role.find(:all) %>
            <td><%= check_box_tag "right[permission_ids][]",, permission.roles.include?(role) %></td>
          <% end %>
      <% end %>