如何从belongs_to关联rails访问first_name和last_name

时间:2015-08-15 15:43:19

标签: ruby-on-rails ruby-on-rails-4

我正在尝试通过引用不同表中的user_id列来访问用户的first_name和last_name,两列关联表,但我不知道如何操作。有什么提示吗?

以下是我尝试引用它的视图

<% @allhours.each do |hour| %>
  <tr id="dashfield">
  <td><%= hour.user_id %></td>
  <td><%= hour.assignment %></td>
  <td><%= hour.hours %></td>
  <td><%= hour.supervisor %></td>
  <td><%= hour.date %></td>
  <td><%=form_for(:hour_log, method: :put) do |f|%>
  <%= f.hidden_field :status, :value => 'Confirmed' %>
  <%= f.submit 'Validate'%>
  <%end%></td>
  </tr>
  <% end %>

我想将“user_id”(一个数字)替换为first_name和last_name。谢谢!

1 个答案:

答案 0 :(得分:3)

你必须有:

<td><%= hour.user.first_name %></td>
<td><%= hour.user.last_name %></td>

在控制器内部执行以下操作以避免N + 1查询问题:

@allhours = AllHours.includes(:user)
# change the code as per your need, but idea is to include the `user`
# association in advance.