URL パラメーターを にマージしたいのform_tag
ですが、パラメーターが上書きされるため、パラメーターが何であるかを指示できないことがわかりました。params を渡す目的は、フィルタリングと順序付けの変数を提供することです。そのため、それらを URL に表示し、非表示にしないようにします。
私が最も近いのはこれを行うことです:
form_tag( :controller => 'assets',:action => 'index', :params => params.merge(:order => 'name'), :method => :get) do
問題は、:get
メソッドが実際にはメソッドとしてではなく、単に別のパラメーターとして渡されるため、POST
.
私も次のことを試しましたが、これもうまくいきません。
form_tag(params.merge(:order => 'name', :method => :get) do
パスは正しいのですが、URL パラメータ&
の形式がおかしくなっています。これは、パラメータの先頭に .
action="/assets?commit=Filter&order=name&utf8=%E2%9C%93" method="get"
パラメータの上書きの別の例を次に示します。次のコードは、フォーム コードの基になる要素を生成しますが、params は削除されます。
form_tag(url_for(:order => 'name'), :method => :get) do
送信時にパラメーターが渡されない、基礎となるコード:
action="/asset_ratings?order=name"