Pregunta

I'm a little new to back-end programming...I'm currently running the following code in my rails 4 app to show a basic list of all the admins on a project (if there are any)...

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

However, I also have projectcollaborators for each project, so I'd like to know what the most effective way would be to combine those and provide a list of both projectadmins AND projectcollaborators (with project admins being listed first if there are any...other than that ordering is not important).

I assume the if statement at the beginning would change to...

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

but I'm not 100% sure and am lost on the rest...any help is much appreciated.

¿Fue útil?

Solución

You could create a scope, for example project_admins_and_collaborators, which gets all the needed records and then use it in your loop.

Otros consejos

You can also do this in following way

project_admins_and_collaborators = project.projectadmins
project_admins_and_collaborators << project.projectcollaborators

project_admins_and_collaborators.flatten.uniq do |user|
  #your code
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top