2013-02-10 78 views
0

我有一个Rails 3应用程序,其视图让我感到恼火。该视图基本上是四个选项卡。每个标签显示的记录是这样的过滤列表:Rails 3干部分?

标签中选择一个

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

标签两个

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

标签三

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

很明显,我错过了很多代码。为了明显地整理视图,我考虑为每个选项卡设置一个部分,但除了<% @faults.each do |fault| %>行之外,每个部分都是相同的。

有没有一种方法有一个部分,并以某种方式呈现局部集合的范围(或方法,我永远不会记得它叫什么)。

回答

1

我想你正在寻找render's:locals选项。

标签一个

<%= render :partial => "faults", :locals => { :faults => @faults } %> 

塔布·特沃

<%= render :partial => "faults", :locals => { :faults => @faults_pending } %> 

标签3

<%= render :partial => "faults", :locals => { :faults => @faults_closed } %> 

部分

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

完美,谢谢! – dannymcc 2013-02-10 21:46:07

+0

保持简单使用: – 2013-12-10 21:48:41