Rails 5 form_tag 带 table 和单选按钮

Rails 5 form_tag with table and radio button

我是一个 Rails 新手,正在努力显示根据数据库中的布尔值检查特定记录的单选按钮(字段名称是 'main')。在显示所有 table 条目后,用户可以选中另一个单选按钮,并且必须在数据库中再次更新该按钮。所以基本上任何一个附件都只能制作main.Whatever我用form_tag,最多页面显示但根本没有table。

attachments/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'

感谢您的帮助。

erb需要修改才能显示。目前它只是执行代码。 This 可能会有帮助。

<% form_tag user_attachments_path do %>

应该是

<%= form_tag user_attachments_path do %>