2012-10-04 12 views
8

Mam formularz, który po wysłaniu POSTed, renderuje inny formularz. Chciałbym przekazać parametry z pierwszego formularza do pewnych ukrytych pól drugiego formularza.Niezdefiniowana metoda "scalania" dla "####": ciąg <% = formularz_for%> pomocnika

Drugi formularz używa form_for pomocnika formularza, a ja próbuję to zrobić, aby zaakceptować parametry, które są wysyłane do niego.

Oto co formularz wygląda następująco:

<%= 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 %> 

Kiedy robię coś

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

Akcja daje mi błąd:

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 

W "1231231234" jest Parametr, który jest POSTED do formularza, ale wydaje się, że go nie akceptuje.

Czy masz pomysł, w jaki sposób uzyskałbym formularz akceptujący parametr?

Po usunięciu parametrów [] błąd nie występuje, ale parametry również nie wypełniają się w ukrytych polach.

Odpowiedz

27

sekund parametr w hidden_field powinny być option hash, a nie wartość

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

Tak! Dziękuję bardzo za wyjaśnienie tego. –

Powiązane problemy