我在将部分参数传递给部分时遇到问题。无论我尝试过什么,当部分被渲染时,参数不会通过。
我正在使用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]) %>
如果可能的话,我需要能够使用partial传递合并的参数。我已经查看了所有的文档,并且整天用手指搜索了我的手指以获得答案,但仍然没有提出任何问题。任何帮助将不胜感激。
答案 0 :(得分:31)
将变量@foo
传递给partial的语法是:
render :partial => "partial", :locals => { :foo => @foo }
然后它在部分中可用foo
。
见this guide的第3.4.4节。
编辑:自Rails 3。?。?以来,更简洁的版本是这样的:
render "partial", foo: @foo