【问题标题】:Compare Attributes During Partial Iteration在部分迭代期间比较属性
【发布时间】:2020-04-26 13:14:11
【问题描述】:

我正在开发一款 Rail 应用。该应用程序有一个像这样传入集合的部分:

<%= render ‘partial’, collection: @records, as: :record %>

记录调用另外两个表:帮助填充部分的公司和文章。公司有_很多:文章。我的部分在一个表格行中有一个标题,这是公司名称,另一行是文章标题。现在的问题是,如果一家公司有多篇文章,我会得到多行公司名称和文章标题,如下所示:

Company 1
Article 1

Company 1
Article 2

Company 1
Article 3

Company 2
Article 1

Company 2
Article 2

我是否可以通过迭代每次检查公司名称,如果相同,则不创建公司行?我希望是这样的:

Company 1
Article 1
Article 2
Article 3

Company 2
Article 1
Article 2

这是我的部分的样子:

<tr>
  <td></td>
  <td colspan="6"class="supplier-name"><%= get_supplier_name(alert) %></td>
</tr>
<tr class="alerts-item">
  <td class="alerts-checkbox">
    <label class="cont">
      <input type="checkbox">
      <span class="checkmark"></span>
    </label>
  </td>
  <td colspan="3" class="alerts-table-info">
    <span>
      <strong><%= link_to get_article_title(alert), get_article_link(alert), target: '_blank' %></strong><br>
      <%= alert.alert.article.snippet %>
    </span>
  </td>
  <td>
    <a href="#link" class="alert-btn-color"><%= get_article_search_group_name(alert) %></a>
  </td>
  <td class="share-col">
    <button class="share-btn">Share</button>
  </td>
  <td>
    <div class="dropdown">
      <div class="dropdown-toggle">Resolve</div>
      <div class="dropdown-content">
        <span class="dropdown-title">Dropdown header</span>
        <a class="dropdown-item" href="#">Action</a>
        <a class="dropdown-item" href="#">Expandable</a>
        <a class="dropdown-item" href="#">Expand</a>
      </div>
    </div>
  </td>
</tr>

&lt;tr&gt;&lt;td&gt;get_supplier_name(alert)&lt;/td&gt; 是我不想重复的行。

【问题讨论】:

  • 使用group 子句查询@records 是最理想的,并且仍然允许您使用集合呈现的性能增强。

标签: ruby-on-rails ruby ruby-on-rails-5 iteration partials


【解决方案1】:

companies 使用部分,然后每个部分company.html.erbarticle.html.erb 有部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 2012-07-22
    • 1970-01-01
    • 2017-11-08
    • 2011-12-02
    • 2016-02-14
    相关资源
    最近更新 更多