2016-11-07 1 views
1

Ich habe einfach html.erb Form wie untenRails erb bekommt Wert eines text_field_tag ​​

<table> 
    <%= text_field_tag :tesintg %> 
    <th><%= button_to 'Apply now', apply_product_index_path(:value => "Want Value of input in text field here") , method: :post %></th> 
</table> 

Wenn „Jetzt bewerben“ -Taste gedrückt I der Wert in dem Test text_field_tag ​​will als Abfrage params gebucht werden als { "Wert": "Wert im Textfeld"}

Wie erreiche ich das?

+0

Gibt es einen Grund, warum Sie diese Elemente nicht in ein Formular verpacken können und es die Arbeit für Sie erledigen lassen? Das wäre die einfachste Lösung. Andernfalls müssen Sie JavaScript verwenden. – pdoherty926

+0

Ja, es ist einfacher, stattdessen ein traditionelles HTML-Formular zu verwenden. Alternativ können Sie Javascript verwenden, um den Wert aus dem Textfeld zu extrahieren und in die Abfrageparameter einzufügen. –

+0

Sean, wie man das macht. Wie kann ich JavaScript verwenden, um den Wert zu erfassen und in button_zu verwenden. – user27111987

Antwort

1

Ich denke, der beste Weg, etwas zu tun, dass gerade ist form_tag

<%= form_tag apply_product_index_path, method: :post do %> 
    <%= text_field_tag :teasing %> 
    <%= submit_tag %> 
<% end %> 

Dies zu Ihrem Controller Hash params: { teasing: 'value passed as teasing} passieren zu erstellen. Sie können es einfach von dort mit params[:teasing] verwenden.

Sie müssen den Wert nicht von text_field_tag übernehmen und in button eingeben.

Denken Sie auch daran, dass, wenn Sie neue Objekt erstellen, sehr oft bevorzugte Weg ist, verwenden Sie form_for Tag, das bestimmtes Modell verwendet. Ich bin mir nicht sicher, was deine Absichten sind, also werde ich nicht alles umschreiben, was bereits gesagt wurde. Sie können viel mehr hier lesen: http://guides.rubyonrails.org/form_helpers.html

Verwandte Themen