У меня есть связь has_and_belongs_to_many между моими моделями Player и Registration (регистрация для события).Когда создается список регистрации, я показываю список всех игроков и collection_check_boxes, чтобы выбрать одного или нескольких игроков для этого списка регистрации.
В идеале я хотел бы показать этот список в виде таблицы.Флажок первого столбца, второй столбец Player.name, третий столбец Player.club и т. Д.
Проблема в том, что я не могу найти способ получить доступ к каждому атрибуту для Player в каждом из них, чтобы я моготформатировать таблицу.Вместо этого я могу сгенерировать только одну метку.
<%= f.collection_check_boxes :player_ids, @players, :id, :first_name do |b| %>
<%= b.check_box %>
<%= b.label %>
<% end %>
Я пытался создать метод в модели проигрывателя для отображения большего количества атрибутов внутри метки, но он не идеален.
Модель
def player
"#{first_name} #{last_name} #{club} ..."
end
<%= f.collection_check_boxes :player_ids, @players, :id, :player do |b| %>
Вот мой код:
Модель игрока
class Player < ApplicationRecord
has_and_belongs_to_many :registrations, dependent: :destroy
def player
"#{first_name} #{last_name} #{club}"
end
end
Регистрационная модель
class Registration < ApplicationRecord
belongs_to :fixture
has_and_belongs_to_many :players
end
Форма
<%= simple_form_for(@registration) do |f| %>
<div class="form-inputs">
<%= f.association :fixture %>
<table class="table col-md-4">
<thead>
<tr>
<td>
<!-- check box -->
</td>
<th>
Name (Primary Venue)
</th>
</tr>
</thead>
<tbody>
<%= f.collection_check_boxes :player_ids, @players, :id, :player do |b| %>
<tr>
<td>
<div class="collection-check-box">
<%= b.check_box %>
</div>
</td>
<td>
<div class="collection-check-box">
<%= b.label %>
</div>
</td>
</tr>
<% end %>
</tbody>
</table>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
МойВопрос в том, как я могу отобразить этот список коллекции check_box в таблице с несколькими столбцами, ссылающимися на атрибуты Player?