Эй, я новичок в Rails, и все это так медлит со мной, спасибо!Отображается, имеет и принадлежит многим ассоциациям в индексе
У меня есть две модели:
class User < ApplicationRecord
has_and_belongs_to_many :sports
end
class Sport < ApplicationRecord
has_and_belongs_to_many :users
end
Мои пользователи имеют несколько различных видов спорта, которые они могут выбрать каждый. Я просто пытаюсь показать всех пользователей в таблице, вместе с которыми они занимаются спортом. Однако ... единственный способ получить что-либо без ошибки - использовать current_user, как показано ниже. Я смотрел, как это делается часами ... Я знаю, что это будет глупо просто, но я просто не могу понять это или даже знать, как идти в правильном направлении.
# users_controller.rb
def index
@users = User.all
@sports = current_user.sports
end
# users/index.html.erb
<% @users.each do |user| %>
<tr>
<td><%= link_to user.name, user %></td>
<td><%= link_to user.email, user %></td>
<% @sports.each do |s| %>
<td><%= s.name %></td>
<% end %>
</tr>
<% end %>
Это мой текущий код, но, очевидно, это только показывает, подписанные в ассоциациях пользователей и повторяет его для других пользователей, как это:
<table>
<tr>
<th>Name</th>
<th>Sport 1:</th>
<th>2:</th>
</tr>
<tr>
<td>User 1 (current_user)</td>
<td>Football</td>
<td>Running</td>
</tr>
<tr>
<td>User 2</td>
<td>Football (User 1's Sports)</td>
<td>Running </td>
</tr>
</table>
Спасибо заранее.
Спасибо! Как и ожидалось, это было очень просто –