Я новичок в Rails и изо всех сил пытаюсь отобразить переключатель, проверенный для конкретной записи на основе ее логического значения в БД (имя поля - 'main'). После отображения всех записей в таблице пользователь может выбрать другой переключатель, который снова должен быть обновлен в БД. Таким образом, в основном любое вложение можно сделать основным. Что бы я ни делал с form_tag, в большинстве случаев отображается страница, но без таблицы вообще.
вложения / index.html.erb:
<% form_tag user_attachments_path do %>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th> Select one </th>
<th> Attachment Name </th>
<th> Creation Date </th>
<th> Delete Attachment </th>
</tr>
</thead>
<tbody>
<% @attachments.each do |attachment| %>
<%=hidden_field_tag :main, 'attachment.main' %>
<tr>
<td><% radio_button_tag "attachment_id", attachment.id, attachment.main %> </td>
<td><%= attachment.attach.file.basename %></td>
<td><%= attachment.posting_date %></td>
<td><%= button_to "Delete", user_attachment_path(current_user, attachment), method: "delete", data: { confirm: 'Are you sure?' }, class: "btn btn-danger btn-outline btn-md" %></td>
</tr>
<% end %>
</tbody>
</table>
<br>
<%= submit_tag "Select Main", :class =>'button' %>
<% end %>
Routes.rb -
post :attachments, to: "attachments#update", as: :attachments
Кроме того, могу ли я получить доступ к значению недавно проверенного радио, как это, в моих приложениях # update, потому что вложение является локальной переменной и не уверен, имеет ли он область за пределами index.html
if params[:attachment][:main] == 'checked'
Спасибо за вашу помощь.