Ruby on rails 3 Rails 3干货?

Ruby on rails 3 Rails 3干货?,ruby-on-rails-3,controller,scope,partial,Ruby On Rails 3,Controller,Scope,Partial,我有一个Rails 3应用程序,它的视图让我很恼火。视图基本上由四个选项卡组成。每个选项卡显示一个过滤后的记录列表,如下所示: 选项卡一 <% @faults.each do |fault| %> <%= fault.name %> <% end %> <% @faults_closed.each do |fault| %> <%= fault.name %> <% end %> 选项卡二 <%

我有一个Rails 3应用程序,它的视图让我很恼火。视图基本上由四个选项卡组成。每个选项卡显示一个过滤后的记录列表,如下所示:

选项卡一

<% @faults.each do |fault| %>
    <%= fault.name %>
<% end %>
<% @faults_closed.each do |fault| %>
    <%= fault.name %>
<% end %>

选项卡二

<% @faults_pending.each do |fault| %>
    <%= fault.name %>
<% end %>

选项卡三

<% @faults.each do |fault| %>
    <%= fault.name %>
<% end %>
<% @faults_closed.each do |fault| %>
    <%= fault.name %>
<% end %>

显然,我遗漏了更多的代码。为了显著地整理视图,我考虑为每个选项卡创建一个分部,但是,除了
行之外,这些分部都是相同的


是否有一种方法可以让一个部分在渲染部分时以某种方式设置范围(或方法,我永远记不起它叫什么)。

我想您正在寻找render的:局部变量选项

表一

<%= render :partial => "faults", :locals => { :faults => @faults } %>
“faults”,:locals=>{:faults=>@faults}%>
表二

<%= render :partial => "faults", :locals => { :faults => @faults_pending } %>
“faults”,:locals=>{:faults=>@faults\u pending}%>
表三

<%= render :partial => "faults", :locals => { :faults => @faults_closed } %>
“faults”,:locals=>{:faults=>@faults\u closed}%>
局部的

<% faults.each do |fault| %>
  <%= fault.name %>
<% end %>