0

なぜそれが起こっているのかわかりません。ここに私のフォームがあります:

<%= form_tag controller: :static_pages, action: :index, method: :get do %>
  <%= text_field_tag :search_text %>
  <%= submit_tag "Search", id: :search_button %>
<% end %>

ただし、URL を介して値を送信する代わりにsearch_text、post メソッドを呼び出して URL で送信しmethod=getています。

http://localhost:3000/static_pages/index?method=get

理由はわかりますか?

4

1 に答える 1

1

method: :getフォーム自体への追加オプションとしてではなく、フォームが進むべきルートの一部として解釈していform_tagます。ハッシュでラップcontroller: :static_pages, action: :indexし、メソッド呼び出しに括弧を追加します。次に、動作するはずです:

<%= form_tag( {controller: :static_pages, action: :index}, method: :get ) do %>
于 2012-07-06T19:59:25.010 に答える