0

У меня есть 3 модели.Использование включает в себя глубокую вложенность в рельсы 4

ProjectDate (available dates for a project) which 
    has_many Events 

    Events (the appointments on any given ProjectDate) 
    belongs_to ProjectDate 
    belongs_to User 

    User (the person who created the Event) 
    has_many Events 

Мне интересно, как я могу использовать включает в себя (или, если я могу использовать включает в себя) для извлечения пользовательских атрибутов, связанных с событием, когда я также Fetching все события, связанные с ProjectDate.

Я хочу быть в состоянии потянуть user.firstname (см вида ниже код)

Это, как я получать массив ProjectDats со своим ассоциированным Событием:

 @projectschedule = ProjectDate.where(project_id: params[:p]).includes(:events).order(the_date: :asc) 

Я действительно застрял ,

Вот код вида:

<table width="100%;" class=""> 
     <tr> 
     <td > 
      <%=p.the_date.strftime("%A")%><br> 
      <%=p.the_date.strftime("%b. %d ")%> 
      </td> 
      <td class="dateinfo"><% p.events.users.each do |e| %> 
      <ul > 
       <li ><%= e.starts_on.strftime("%l:%m %P ") %><%= e.user.firstname %><%= e.description %><button >O</button><button >O</button></li> 
      </ul><% end %> 
      </td> 
     </tr> 
     </table> 
<% end %> 

ответ

1

Вы можете гнездо включают аргументы, как это.

@projectschedule = ProjectDate.where(project_id: params[:p]).includes(events: :user).order(the_date: :asc) 

Примечание events: :user, который будет убедиться, что оба события, и это пользователь хотят загружены.

+0

Yup. Вот так! Благодарю. – NothingToSeeHere

Смежные вопросы