2012-10-04 17 views
8

Tengo un formulario que, cuando se escribe POST, representa otro formulario. Lo que me gustaría hacer es pasar los parámetros de la primera forma a ciertos campos ocultos de la segunda forma.Método no definido `merge 'for' #### ': string <% = form_for%> helper

El segundo formulario está utilizando form_for form helper, y lo que intento hacer es conseguir que acepte los parámetros que se están publicando en él.

Esto es lo que se ve la forma como:

<%= form_for(@phone) do |f| %> 
     <%= f.hidden_field :original_number, params[:original_number] %> 


     <%= f.hidden_field :name, params[:name] %> 
     <%= f.hidden_field :twilio_number, number.phone_number %> 

     <div class="found_list"> 
      <div class="found_phone_number"> 
       <%= f.label :number, number.friendly_name) %> 
      </div> 
      <div class="choose_found_number"> 
      <%= f.submit "Choose This Number", :class => "btn btn-large btn-success" %> 
      </div> 
     </div> 
      <hr> 
    <% end %> 

Cuando hago algo así como

<%= f.hidden_field :original_number, params[:original_number] %> 

La acción me da el error:

NoMethodError in Find_numbers#create 

Showing C:/Sites/dentist/app/views/phones/new.html.erb where line #17 raised: 

undefined method `merge' for "1231231234":String 

El "1231231234" es el parámetro que se está PUBLICANDO en el formulario, pero parece que no lo acepta.

¿Tiene una idea de cómo obtendría el formulario para aceptar el parámetro?

Cuando eliminé los parámetros [], el error no ocurre, pero los parámetros tampoco se completan en los campos ocultos.

Respuesta

27

segundo parámetro en hidden_field debería haber una option hash, no un valor

<%= f.hidden_field :original_number, :value => params[:original_number] %> 
+0

Sí! Muchas gracias por aclarar sobre esto. –

Cuestiones relacionadas