web-dev-qa-db-ja.com

rails 3パラメータで部分的にレンダリング

一部のパラメーターをパーシャルに渡す際に問題が発生しました。私が何を試しても、パーシャルがレンダリングされるときにパラメータは渡されません。

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]) %>

可能であれば、マージされたパラメーターをパーシャルで渡すことができる必要があります。私はすべてのドキュメントを見て、これに対する答えを求めて昨日一日中グーグルで検索しましたが、それでも何も思いつきませんでした。どんな助けでもいただければ幸いです。

12
user1214966

変数を渡すための構文@foo部分的にこれはこれです:

render :partial => "partial", :locals => { :foo => @foo }

次に、部分的にfooとして使用できます。

このガイド のセクション3.4.4を参照してください。

[〜#〜] edit [〜#〜]:Rails 3。?。?なので、より簡潔にバージョンはこれです:

render "partial", foo: @foo
31
Thilo