结合我的"每个"循环方法

时间:2014-05-03 06:15:44

标签: ruby-on-rails if-statement ruby-on-rails-4 each

我对后端编程有点新...我正在我的rails 4 app中运行以下代码,以显示项目中所有管理员的基本列表(如果有的话)..

 <% if project.projectadmins.any? %>
  <div class="row-fluid">

    <% project.projectadmins.each do |user| %>
      <div class="collaborator">
        <%= link_to user do %>
          <%= image_tag user.image_url(:thumb).to_s, :class => "profile-pic-thumb" %>
        <% end %>
      </div>
    <% end %>

  </div>
 <% end %>

但是,我也为每个项目都有projectcollaborators,所以我想知道最有效的方法是将这些项目组合并提供项目管理员和项目管理员的列表(如果有项目管理员,则首先列出项目管理员) ...除了那个排序并不重要。)

我假设开头的if语句会改为......

<% if project.projectadmins.any? || project.projectcollaborators.any? %>

但我不是百分百肯定而且我在其他方面迷失了...任何帮助都非常感激。

2 个答案:

答案 0 :(得分:1)

您可以创建一个范围,例如project_admins_and_collaborators,它可以获取所有需要的记录,然后在循环中使用它。

答案 1 :(得分:1)

您也可以按照以下方式执行此操作

project_admins_and_collaborators = project.projectadmins
project_admins_and_collaborators << project.projectcollaborators

project_admins_and_collaborators.flatten.uniq do |user|
  #your code
end