一部のパラメータを部分的に渡す際に問題が発生しました。私が何を試しても、部分がレンダリングされたときにパラメータが渡されません。レール3レンダリングパーシャルwithパラメータ
私はjqueryタブレイアウトを使用しています。各タブには、特定のステータスのジョブ注文が表示されます。
私はparams:sort_filterと:status_filterを使用してこれを達成しています。
私の元のコードはここにあるが、私はのlink_toの代わりに、それはここにリストされていた方法でパーシャルをレンダリングするためにこれを変更したい:
<ul>
<li><%= link_to "Active", work_orders_path(params.merge({:status_filter => "A", :sort_filter => params[:sort_filter]})) %></li>
<li><%= link_to "On Hold", work_orders_path(params.merge({:status_filter => "H", :sort_filter => params[:sort_filter]})) %></li>
<li><%= link_to "Completed", work_orders_path(params.merge({:status_filter => "C", :sort_filter => params[:sort_filter]})) %></li>
<li><%= link_to "Billed", work_orders_path(params.merge({:status_filter => "B", :sort_filter => params[:sort_filter]})) %></li>
<li><%= link_to "All", work_orders_path(params.merge({:status_filter => "E", :sort_filter => params[:sort_filter]})) %></li>
</ul>
ので、代わりに私のwork_orders_pathにインデックスへのリンク、私は」 viewallと呼ばれる部分にリンクするのが好きです。このように:
<%= link_to render (:partial => 'viewall', :status_filter => "E", :sort_filter => params[:sort_filter]) %>
可能であれば、部分的にマージされたパラメータを渡すことができる必要があります。私はすべての文書を見て、これに答えるために一日中昨日私の指を見つけて、まだ何も出てこなかった。どんな助けもありがとう。
render :partial => "partial", :locals => { :foo => @foo }
それはfoo
として部分的に利用可能である:部分的に可変@foo
を渡す
:Railsの3以来、より簡潔なバージョンがこれです。レンダリング(:partial => "viewall"、:locals => {:status_filter => "H"}) - ()の有無にかかわらず試してみました。また、これを成功させることなく、link_toで動作させることも試みています。可能かどうかわからない – user1214966
'status_filter'や' params [:status_filter] 'ではなく、部分的に' status_filter'としてアクセスしてください。 – Thilo
私はこの権利を確実にするために一般的な質問があります。パーシャルはロードされる前にコントローラに当たっていますか?私は彼らが(レンダリングする)と仮定していますが、そうでない場合は、コントローラがこれらのパラメータを使用して日付範囲とステータスに基づいて作業オーダーテーブルの行を選択するため、問題が発生します。私が意図しているのは、自分のステータスに基づいて作業オーダを別のタブに表示させることです。 – user1214966