【问题标题】:Show Results Based on experiment_type根据实验类型显示结果
【发布时间】:2016-06-28 11:59:00
【问题描述】:

我的数据库中有一个表格实验,通过填写表格来填充。表单中的一个字段是experiment_type,它是一个下拉选项,用于在AOV 或Conversion 之间进行选择。在我的show.html.erb 中,我想分别展示 AOV 实验和转换实验。我有点坚持从哪里开始。我想我可以在我的表演动作中做一些事情,比如

@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>

【问题讨论】:

  • 一般show动作用于显示单条记录。为什么要特别显示show 中的所有记录?
  • 我有一个广告商控制器,它在#index 上显示广告商列表,这是我的根目录。当您单击广告商时,它会转到广告商#show。在此页面上,我有用于 AOV 实验和转换实验的选项卡。请在此处查看屏幕截图 (screencast.com/t/CCgUWnJL9rn) 所以基本上我们的想法是查看广告客户资料页面,并在此页面内显示 AOV 和转化实验列表。
  • 所以基本上视图确实显示了一条记录。哪个是广告商。但在广告客户中,我想显示一个由experiment_type 分隔的实验列表

标签: ruby-on-rails show


【解决方案1】:

您可以使用以下内容,而不是在活动记录查询中进行硬编码,

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

您可以迭代上述数组中的项目以显示选项卡值。然后你可以使用 ajax 来加载选项卡的内容。如果你觉得有什么困难可以问我……我会告诉你怎么做……

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

编码愉快!!!!!!

【讨论】:

  • 嗨@Andolaso​​ft - 谢谢,这对我帮助很大,但不太确定如何创建迭代。我尝试了几件事,但不确定要使用的正确语法。我将以下内容粘贴在我的 Advertisers 控制器中的 show 操作下。 @experiments = Experiment.all.collect(&amp;:experiment_type).uniq =&gt; ["AOV", "Conversion"] 在 Advertiser 视图中,很难弄清楚迭代的语法。
  • 你能给我你的源代码你在哪里显示标签.....
  • 我在上面添加了显示标签的源代码。顺便说一句,该源代码中的代码输出 #&lt;Experiment::ActiveRecord_Associations_CollectionProxy:0xbd40b78&gt; 反对任何有意义的事情。嘿,至少我有东西要展示 =)
  • 有人有什么建议吗?一直在尝试不同的事情,但没有运气
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-22
  • 2020-08-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多