1

classrooms_search_textbox送信時に、ユーザーが入力するの値と同じクエリ文字列パラメーターを追加できるようにしたいと考えています。どうすればいいですか?

<%= form_tag classrooms_path, :method => :get, :id => "classrooms_search_form" do %>
<%= text_field_tag "classrooms_search_textbox", "Find a classroom" %>
<%= submit_tag "Find", :id => "classrooms_search_button", :class => "button" %>

を追加する必要がありhidden_tagますか (もしそうなら、どうすればこれを行うことができますか?)、またはclassrooms_path何らかの方法で に追加できますか?

ありがとう!

4

2 に答える 2

1

最初にコントローラーを送信するので、送信する前にコントローラーメソッドのパラメーターを操作できます。

params[:classrooms_query] = params[:classrooms_search_textbox]

次に、これらのパラメータを使用して他のサービスに送信します。非表示のフィールドタグを追加したり、凝ったJSコードを使用したりする必要はありません。

于 2012-08-10T21:29:20.843 に答える
0
<%= form_tag classrooms_path, :method => :get, :id => "classrooms_search_form" do %>
  <%= text_field_tag "classrooms_search_textbox", "Find a classroom" %>
  <%= hidden_field_tag "classrooms_query" %>
  <%= submit_tag "Find", :id => "classrooms_search_button", :class => "button" %>


$('#classrooms_search_form').submit(function() {
   $('#classrooms_query').value($(classrooms_search_textbox.value());
});

それはあなたが望むものを達成するでしょう。それでも、この種の競合が発生しないように、コントローラーまたはビューをリファクタリングすることはあなたの利益になるかもしれません。

于 2012-08-10T21:29:05.623 に答える