Каков правильный способ доступа к значению модели соединения?

#ruby-on-rails #has-many-through

#ruby-on-rails #имеет много сквозных

Вопрос:

У меня есть пользователи и проекты, и они связаны через модель has_many :through, называемую ownerships . На странице показа проекта я хотел бы указать название проекта, пользователей, связанных с проектом, и тип ассоциации (называемый owner_type в модели объединения владельцев). Я не совсем понимаю, как это сделать.

Кроме того, если у меня есть проект и current_user, как мне выяснить, что такое owner_type для этого пользователя в этом проекте?

Спасибо!

Ответ №1:

Я думаю, можно с уверенностью предположить, что в project show определен @project . Правильно? Итак, возможное представление может выглядеть примерно так…

app/views/projects/show.html.erb

 <h1><%= @project.name %></h1>
<ul>
    <%= render :partial => 'ownership', :collection => @project.ownerships %>
</ul>
  

app/views/projects/_ownership.html.erb

 <li><strong><%= ownership.user.name %></strong> (<%= ownership.ownership_type %>)</li>
  

Однако я не понимаю вашего второго вопроса. Я предлагаю опубликовать это как совершенно отдельный вопрос, возможно, с некоторыми дополнительными разъяснениями.