Radio button issues in a list


#1

Hi,

I have a list of companies for a given user. One (and only one) company
can be a default company for that user. I have a radio button that
appears on each row in the list of companies (here is my code):

<% form_tag :action => ‘update_default_company’, :id => @company,
:method => :post do %>

<% for @company in @companies %>




<% end %>
<%= "Name" %> <%= "Size" %> <%= "Default Company" %>
<%= @company.name %> <%= @company.size %> <%= radio_button(“company”, “default_company”, true) %>
<%= submit_tag "Change Default" %> <% end %>

From this list, the user is allowed to change the default company and
click on a button (implemented with a submit tag, which calls a method
in the controller). The radio buttons are the only editable field on
this form.

Question: How do I get the necessary values back to the controller?
Currently, I only get the selected radio button, but not the associated
company data.

TIA,

TMac


#2

On Oct 16, 12:01 am, Teresa Mcmillin <rails-mailing-l…@andreas-
s.net> wrote:

<td><%= radio_button("company", "default_company", true) %>

that third parameter is what will appear in params[:company]
[:default_company] so typically you set it to something like
@company.id.

Overwriting @company like that won’t do you any favours, I would do

<% for company in @companies %>


<%= company.name %>
<%= company.size %>
<%= radio_button(“company”, “default_company”, company.id) %> <% end %>

Fred


#3

Frederick C. wrote:

that third parameter is what will appear in params[:company]
[:default_company] so typically you set it to something like
@company.id.

Overwriting @company like that won’t do you any favours, I would do

<% for company in @companies %>


<%= company.name %>
<%= company.size %>
<%= radio_button(“company”, “default_company”, company.id) %> <% end %>

Fred

I have changed the third parm and I see what you mean, but here is my
confusion. I thought the third parm was used for determining which
radio
button should be selected, when loading the companies from the database.
In my case, only one company has default set to true, so I put true in
the third parm. It works nicely for displaying the data.

So now the question becomes how do I set that radio button values to
correspond to the database values?

Thanks for your help.

TMac