how to retrive multiple vaules from a view for a text_field!

Hi,

I have view page which takes all the information like contact's emails ,
phones no's etc and saves different tables. I want to save more than one
email id's for a particular contact.

view page is something like this..

.
.
Email 1 :
<%= select 'email', 'email_type', %w(Business Personal), :include_blank
=> false %>
<%= text_field 'email','email',:size=>"35",:maxlength=>"80" %>
<%= radio_button 'email', 'isprimary', '1' %>Primary
Email 2 :
<%= select 'email', 'email_type', %w(Business Personal), :include_blank
=> false %>
<%= text_field 'email','email',:size=>"35",:maxlength=>"80" %>
<%= radio_button 'email', 'isprimary', '1' %>Primary
.
.

Controller is :

def create
      @contact = Contact.new(params[:contact])
      @contact.emails << Email.new(params[:email])
      @contact.phones << Phone.new(params[:phone])
      @contact.addresses << Address.new(params[:address])
      puts "hellooooooo bharati"
      params.inspect
      if @contact.save
         flash[:notice] = "Contact was successfully created."
         redirect_to :action => 'list'
      else
         render :action => 'new'
                  flash[:notice] = "Contact was not created."
      end
   end

Can any one help me how to send more than one email ids to controller..

Hi,

I have view page which takes all the information like contact's emails ,
phones no's etc and saves different tables. I want to save more than one
email id's for a particular contact.

view page is something like this..

There's two separate problems here:
- how you manage the ui, ie adding extra textfields to the page
- how you convince rails to treat these textfields as an array.

The key to the second part is how you name the parameters. In
particular parameters ending with a [] are treated as arrays.

Fred

Frederick Cheung wrote:

Hi,

I have view page which takes all the information like contact's emails ,
phones no's etc and saves different tables. I want to save more than one
email id's for a particular contact.

view page is something like this..

There's two separate problems here:
- how you manage the ui, ie adding extra textfields to the page
- how you convince rails to treat these textfields as an array.

The key to the second part is how you name the parameters. In
particular parameters ending with a [] are treated as arrays.

Fred

Yes . I was able to submit more than one text field values.. but now my
issue is how do i differentiate radio buttons with the same name.. both
the radio buttons are getting selected :(.. here is the code

<% form_for :@contact do |f| %>
             <% @contact.emails.each_with_index do |email, index| %>
             <% fields_for "email[#{index}]", email do |f| %><tr> <td>
             Email &nbsp &nbsp;
             <%= f.select :email_type, %w(Business Personal),
:include_blank => false %>
             <%= f.text_field :email %>
       <%= f.radio_button :isprimary ,'index' %>Primary
             </td></tr>
              <% end %>
          <% end %>
<% end %>

Frederick Cheung wrote:
>> Hi,

>> I have view page which takes all the information like contact's emails ,
>> phones no's etc and saves different tables. I want to save more than one
>> email id's for a particular contact.

>> view page is something like this..

> There's two separate problems here:
> - how you manage the ui, ie adding extra textfields to the page
> - how you convince rails to treat these textfields as an array.

> The key to the second part is how you name the parameters. In
> particular parameters ending with a [] are treated as arrays.

> Fred

Yes . I was able to submit more than one text field values.. but now my
issue is how do i differentiate radio buttons with the same name.. both
the radio buttons are getting selected :(.. here is the code

the builders yielded by form_for and fields_for have the same name, so
they'll be overwriting each other (which isn't what I thing you want).
Also shouldn't the second parameter to radio_button be index and not
'index' ?

Fred

Frederick Cheung wrote:

issue is how do i differentiate radio buttons with the same name..
both
the radio buttons are getting selected :(.. here is the code

the builders yielded by form_for and fields_for have the same name,
so
they'll be overwriting each other (which isn't what I thing you
want).
Also shouldn't the second parameter to radio_button be index and not
'index' ?

Fred

ya. got it. But there exists an issues.. When i select radio button
i ll
get the following error. . "undefined method `values' for "1":String"
where as the other values get saved if i do not select radio button.

From the code I'd guess that you end up with params[:email]
containing the string 1, which you then try and call values on.

Fred