2016-06-28 95 views
0

我在我的数据库中有一个表格填充表单的实验。表单中的一个字段是experiment_type,这是一个在AOV或Conversion之间进行选择的下拉选项。在我的show.html.erb中,我想单独显示AOV实验和转换实验。我有点卡在从哪里开始。我想我可以通过做一些我的表演动作像根据experiment_type显示结果

@aov_experiment = Experiment.where(:experiment_type => "AOV").order("created_at DESC") 

@conversion_experiment = Experiment.where(:experiment_type => "Conversion").order("created_at DESC") 

然后循环,并显示在我的show.html.erb

的结果,我认为我的方式在这里下车。希望有人能指引我正确的方向。

的显示选项卡

<!-- start AOV experiments -->     




         <table class="data table table-striped no-margin"> 
          <thead> 
          <tr> 
           <th>ID</th> 
           <th>Experiment Name</th> 
           <th>Status</th> 
           <th>Priority</th> 
           <th>Launch Date</th> 
          </tr> 
          </thead> 
          <% @advertiser.experiments.each do |experiments| %> 
          <tbody> 
          <tr> 

           <td><%= @advertiser.experiments %></td> 
           <td></td> 
           <td></td> 
           <td></td> 
           <td></td> 

          </tr>        
          </tbody> 
         <% end %> 
         </table> 

    <!-- end AOV experiments --> 

         </div> 
         <div></div> 
         <div role="tabpanel" class="tab-pane fade" id="tab_content2" aria-labelledby="profile-tab"> 

    <!-- start conversion experiments --> 
          <table class="data table table-striped no-margin"> 
          <thead> 
          <tr> 
           <th>ID</th> 
           <th>Experiment Name</th> 
           <th>Status</th> 
           <th>Priority</th> 
           <th>Launch Date</th> 
          </tr> 
          </thead> 
          <!-- begin iteration here --> 
          <tbody> 
          <tr> 

           <td></td> 
           <td></td> 
           <td></td> 
           <td></td> 
           <td></td> 

          </tr>        
          </tbody> 
         <!-- end iteration here --> 
         </table> 
       <!-- end conversion experiments --> 

         </div> 
+0

一般'show'动作用来显示单个记录。为什么你要特别在'show'中显示所有记录? –

+0

我有一个广告商控制器,它显示了#index上的广告商列表,这是我的根。当您点击广告客户时,它会转到广告客户#show。在此页面上,我有AOV实验和转换实验的选项卡。在此处查看屏幕截图(http://screencast.com/t/CCgUWnJL9rn) 所以基本上这个想法是查看广告商个人资料页面,并在此页面中显示AOV和转换实验列表。 –

+0

所以基本上这个视图确实显示了一条记录。哪个是广告商。但在广告客户内,我想显示由experimental_type –

回答

1

,而不是在活动记录查询硬编码的源代码,你可以使用类似下面,

Experiment.all.collect(&:experiment_type).uniq => ["AOV", "Conversion",.....] 

可以遍历的从项目上面的数组显示选项卡值。然后你可以使用ajax来加载标签的内容。如果你发现任何困难问我...我会告诉你如何做到这一点....

但我想这会给你足够的想法。

快乐编码!!!!!

+0

分隔的实验列表Hi @Andolaso​​ft - 谢谢,这对我有很大帮助,但不太清楚如何创建迭代。我已经尝试了几件事,但不确定使用的正确语法。 我在广告客户控制器的show操作下粘贴了以下内容。 '@experiments = Experiment.all.collect(&:experiment_type).uniq => [“AOV”,“Conversion”]' 在广告商视图中,很难找出迭代的语法。 –

+0

你可以给我你的源代码在哪里显示标签..... – Andolasoft

+0

我添加了上面显示标签的源代码。顺便说一句,该源内的代码输出'#'反对任何有意义的东西。嘿,至少我有东西要显示=) –