Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 rails 3使用参数渲染局部_Ruby On Rails 3_Link To_Renderpartial_Param - Fatal编程技术网

Ruby on rails 3 rails 3使用参数渲染局部

Ruby on rails 3 rails 3使用参数渲染局部,ruby-on-rails-3,link-to,renderpartial,param,Ruby On Rails 3,Link To,Renderpartial,Param,我在将一些参数传递给分部时遇到问题。无论我尝试了什么,渲染局部时参数都不会通过 我使用的是jquery选项卡式布局,每个选项卡都显示特定状态下的工单,并且还基于一系列日期 我正在使用params:sort\u过滤器和:status\u过滤器来完成这项工作 我的原始代码在这里,但我想将其更改为在link_to中呈现分部,而不是按此处列出的方式: <ul> <li><%= link_to "Active", work_order

我在将一些参数传递给分部时遇到问题。无论我尝试了什么,渲染局部时参数都不会通过

我使用的是jquery选项卡式布局,每个选项卡都显示特定状态下的工单,并且还基于一系列日期

我正在使用params:sort\u过滤器和:status\u过滤器来完成这项工作

我的原始代码在这里,但我想将其更改为在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>
  • “A”,:sort_filter=>params[:sort_filter]}))%>
  • “H”,:sort_filter=>params[:sort_filter]}))%>
  • “C”,:sort_filter=>params[:sort_filter]}))%>
  • “B”,:sort_filter=>params[:sort_filter]}))%>
  • “E”,:sort_filter=>params[:sort_filter]}))%>
因此,我不想链接到我的work\u orders\u路径中的索引,而是想链接到一个名为viewall的部分。像这样:

<%= link_to render (:partial => 'viewall', :status_filter => "E", :sort_filter => params[:sort_filter]) %>
'viewall',:status_filter=>“E”,:sort_filter=>params[:sort_filter])%>

如果可能的话,我需要能够通过partial传递合并参数。我看了所有的文档,昨天一整天都在用谷歌搜索我的手指来寻找答案,但仍然一无所获。任何帮助都将不胜感激。

将变量
@foo
传递给partial的语法如下:

render :partial => "partial", :locals => { :foo => @foo }
然后,它可以作为
foo
的一部分提供

见本规范第3.4.4节

编辑:自Rails 3.?以来,更简洁的版本是:

render "partial", foo: @foo

实际上我试过了,但它根本没有传递变量。render(:partial=>“viewall”,:locals=>{:status_filter=>“H”})-尝试使用和不使用()。还试图通过一个链接来实现这一点,但没有成功。不确定是否可能。请确保您在部分中以
status\u filter
的身份访问它,而不是
@status\u filter
params[:status\u filter]
我有一个一般性问题,只是为了确保我做得正确。分区是否在加载之前命中控制器?我假设它们会(渲染),但如果它们不会,我将遇到问题,因为我的控制器使用这些参数根据日期范围和状态从我的工单表中选择行。我的目的是让工单根据它们的状态显示在不同的选项卡中。控制器呈现视图,而视图又可以包含部分。我链接的指南是一个很好的介绍,介绍了如何将所有内容组合在一起。另外:
render“partial”,{:foo=>@foo}