2010-12-07 11 views
0

form_tagを使用して、フォームを実行時に動的に送信する場所を設定することはできますか?私が持っているのは、複数の画面でデータをフィルタリングするために使用される共有部分ビューです。ビューにはいくつかの異なるフォームフィールドとサブミットボタンが含まれているため、これらのコントロールのUIは、それを使用するすべての画面、つまり共有部分ビューで同じです。違いは、部分ビューがどのページに含まれているかによって、サブミットを別の場所に戻したいということです。次のようなレンダリングタグを使用して送り先を渡すことができますか?form_tagの送信先の動的設定

<%= render 'shared/event_filter', :dest => event_path %> 

次に、部分表示内で次のように消費しますか?

<%= form_tag(:dest, :method => "get") do %> 

上記のコードは動作しません、それは私のnomethodエラー与える:form_tagでDESTを、私はちょうど私がやろうとしたものを説明するために、この質問に入れていました。

ご協力いただきありがとうございます。

答えて

0

私はあなたがこれらの線に沿って何かを探しているかもしれないと思う:

<%= render :partial => 'shared/event_filter', :locals => {:form_action => event_path} %> 

だけshared/_event_filter.html.erbという名前の部分をレンダリングしevent_pathの値でform_actionという変数に通過します。

次に、あなたの部分の内側:

<%= form_tag form_action, :method => "get" do %> 
    <!-- snip --> 
<% end %> 
関連する問題