1

form_for を使用して、作成したテーブルのない検索モデルで動作する検索フォームを実装しようとしています。検索フォームが「インデックス」アクションをトリガーし続けます。「new」を使用してフォームを作成し、「作成」して検索クエリを処理する必要があると思います。ログを見ると、私の POST が GET に変更されています。これが私のコードです:

/searches/new.html.erb:

<% form_for :searches, @search, :url => searches_path, :html => {:method => :post} do |f| %>
  <%= f.error_messages %>
  <p>
    <%= f.label :keywords %><br />
    <%= f.text_field :keywords %>
  </p>
  <p><%= f.submit "Submit" %></p>
<% end %>

form_for で「作成」アクションをトリガーする標準的な方法は何ですか?

4

2 に答える 2

1

RESTful を使用していますmap.resources :searchesか?
もしそうなら、あなた:urlはに設定されるべきではありませんnew_search_pathか?

于 2009-04-25T16:15:54.857 に答える
1

form_forモデルで使用されます。単純な検索フォームの場合、次のようなことをお勧めします。

<% form_tag posts_path, :method => :get do |f| %>
  <%= f.text_field :query %>
<% end %>

あなたは得るでしょう/posts?query=wtf

于 2009-04-27T07:28:44.700 に答える