1

create アクションによってデータベースに保存され、結果が検索パラメータとともに表示される @search にリダイレクトされる検索を作成するために使用される検索モデルがあります。

このビュー (url searchs/:id) から新しい検索を投稿して search :id+1 を作成できるようにしたいので、ユーザーは検索パラメーターを絞り込むことができます。

現在、両方で同じ form_for を使用できるようにしたいと思います。次のようになります。

<%= form_for(@search, :html => { :class => "form-horizontal" }) do |f| %>

次のようにレンダリングします。

<form accept-charset="UTF-8" action="/searches" class="form-horizontal" id="new_search" method="post">

これにより新しい検索が作成されますが、表示ビューでは次のように表示されます。

<form accept-charset="UTF-8" action="/search?id=9" class="form-horizontal" id="edit_search_9" method="post">

すべてのページで最初の方法でレンダリングするように強制するにはどうすれば更新できますか?

どうもありがとう!

4

1 に答える 1

0

これを行うには、フォーム タグ ID を html ハッシュに渡し、目的のアクションに一致するようにデフォルトの URL をオーバーライドします。「/searches」に一致する「searches」という名前のルートがあると仮定した例を次に示します。

<%= form_for(@search, :url => searches_path, :html => { :class => "form-horizontal", :id => 'new_search' }) do |f| %>

Rails でルートを作成するには、config/routes.rb ファイルに次のエントリを作成します。

resources :searches
于 2013-09-03T18:58:54.360 に答える