一部のパラメーターをパーシャルに渡す際に問題が発生しました。私が何を試しても、パーシャルがレンダリングされるときにパラメータは渡されません。
Jqueryのタブ付きレイアウトを使用しています。各タブには、特定のステータスで、日付の範囲に基づいて作業指示が表示されます。
これを実現するために、パラメータ: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]) %>
可能であれば、マージされたパラメーターをパーシャルで渡すことができる必要があります。私はすべてのドキュメントを見て、これに対する答えを求めて昨日一日中グーグルで検索しましたが、それでも何も思いつきませんでした。どんな助けでもいただければ幸いです。
変数を渡すための構文@foo
部分的にこれはこれです:
render :partial => "partial", :locals => { :foo => @foo }
次に、部分的にfoo
として使用できます。
このガイド のセクション3.4.4を参照してください。
[〜#〜] edit [〜#〜]:Rails 3。?。?なので、より簡潔にバージョンはこれです:
render "partial", foo: @foo