2017-08-28 98 views
0
Template code includes: 
    <%= for shift <- @shifts do %> 
<tr> 
    <td><%= shift.user_id %></td> 
    <td><%= shift.start_time %></td> 
    <td><%= shift.end_time %></td> 
    <td><%= shift.roster_id %></td> 

我如何可以顯示從各自架構的用戶名和rostername? 我可以將@users和@rosters傳遞給模板,但不知道如何使用上面的'for'循環。如何顯示外鍵名稱,而不是外鍵ID

+0

你有預裝的關聯?如果是,那麼像'<%= shift.user.name%>'? – Dogbert

+0

謝謝,不知道預加載。工作中。 – alanb

回答

1

相反到其他數據訪問librarie,外生是非常明確的。除非您直接請求它們,否則它不會爲您的查詢結果獲取任何關聯。

要求他們,你有兩個選擇:建立你自己的查詢或簡單地使用preload

預緊也有兩種形式提供 - 一種是在現有的查詢追加這個命令:

from u in User, where: u.id == ^user_id, preload: [:profile] 

或使用它作爲一個回購的功能:

User 
|> Repo.get(user_id) 
|> Repo.preload([:profile]) 

結果是相同。