Thanks for the quick reply Julian. I will provide more detail here.

I have two tables: roles and permissions with a "has_and_belongs_to_many" 
relationship between each other.

In the edit action for role, I initialize role and permissions like this:

    @role = Role.find(@params[:id])
    @permissions = Permission.find (:all, :order => "title")

In the model I have two lists: one with all the available permissions and 
another with the permissions that a specific role has and buttons that move 
stuff from one list to the other using javascript.

The rhtml code for the lists goes like this:

<select id="available_permissions" name="available_permissions" multiple 
size="10">
  <% available_permissions = @permissions - @role.permissions %>
  <%= options_for_select (available_permissions.collect { |p| [p.title, 
p.id]}) %>
</select>

<select id="role_permissions" name="role[permissions][]" multiple = 
"multiple" size="10">
  <%= options_from_collection_for_select(@role.permissions, "id", "title") 
%>
</select>

I have two buttons invoke a javascript method to remove an item from one 
list and add it to the other list. It goes like this:

function moveSelected(orig, dest)
{
 var selectOrig = document.getElementById(orig);
 var selectDest = document.getElementById(dest);
 var i = 0;
 while (i<selectOrig.length)
 {
  option = selectOrig.options[i];
  if (option.selected)
  {
   option.selected = false;
   selectOrig.remove(i);
   if (nn6)
   {
    selectDest.length = selectDest.length+1;
    selectDest.options[selectDest.length-1] = option;
   }
   else selectDest.add(option);
  }
  else i++;
 }
}

This part works well with records that I added manually to the 
permissions_roles intermediate table. Nevertheless the simple
    if @role.update_attributes(@params[:role]) ...

is not intelligent enough to populate role.permissions and update the tables 
in the database. That is fine, as long as I can access the select options 
from the controller, but whatever name I put in params doesn't seem to work. 
The hash returned by @params[:role] or @params["role"] doesn't include 
"permissions" (i.e. @params[:role]["permissions"] is nil). Changing the name 
to something else like id = "assocperms" name = "assocperms[]" doesn't help 
as @params["assocperms"] also is nil (and so is @params["assocperms[]"], 
etc.). Also removing the "[]" from the name didn't do the trick. Is my only 
alternative to wrap up the select list in a div, send it via a 
form_remote_tag, and parse it manually? The must be a more elegant solution.

If anyone can provide insight on how I can tackle this problem it will be 
greatly appreciated!

    Andres

"Julian Leviston" <julian / coretech.net.au> wrote in message 
news:EE4E8D2C-7BDA-41E2-86E2-AC2C6042A33A / coretech.net.au...
> Hi.
>
> I wonder if there's a rails list...
>
> Can you be more specific?
>
> So you've got your helper code down to create HTML select, that's  cool... 
> but what do you mean by "use modifies the options via  javascript" - how?
>
> Julian.
>
> On 08/08/2005, at 12:01 PM, Andres Montano wrote:
>
>> Does anybody know if the options for a select in a form are  accesible 
>> via
>> @params?
>>
>> I have an application that succesfully builds the select html  statements 
>> but
>> then the user modifies the options via javascript. When the form gets
>> posted, is there a way to know what options are there, which are 
>> selected,
>> etc from the controller?
>>
>> I have tried all sorts of strategies like adding the [] to the name  of 
>> the
>> select tag, but however I name it, param always returns nil.
>>
>> Thanks,
>>     Andres
>>
>>
>>
>>
>
>
>