fields_for с вопросом об ассоциации - PullRequest
0 голосов
/ 02 марта 2011

Как использовать данные ассоциации из fields_for?

У меня много отношений между пользователями, школами и schools_users. Пользователь может иметь несколько школ, а в школе несколько пользователей. В schools_users есть поле user_role в дополнение к общим user_id и school_id.

В представлении просмотра у меня есть:

<% @school.schools_users.each do |user| %>
<tr><td><%= user.user.first_name %> <%= user.user.last_name %></td><td><%= user.user_role %></td></tr>
<% end %>

но я не могу понять, как сделать то же самое из поля fields_for на странице редактирования.

<%= f.fields_for :schools_users do |f| %>
    <tr>
        <td><%= NEED USER NAME HERE %></td>
        <td><%= f.select(:user_role, active_role_options)%></td>
        <td><%= link_to_remove_fields 'Delete', f %></td>
    </tr>
<% end %>

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 02 марта 2011

Во-первых: вы присваиваете блочную переменную вашего fields_for для f, которая является той же f, которую использует form_for. Вы должны использовать другое имя, например user_fields.

С этим:

<%= f.fields_for :schools_users do |user_fields| %>
  <tr>
    <td><%= user_fields.text_field :first_name %></td>
    ...
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...