html选择标签中的rails link_to

Posted

技术标签:

【中文标题】html选择标签中的rails link_to【英文标题】:rails link_to in html select tag 【发布时间】:2021-11-01 09:48:10 【问题描述】:

我是 ruby​​ on rails 的新手。 link_to 控制器可以正常使用按钮,但不确定如何从选择选项中调用控制器。请指教。

<div>
  <table class="table">
    <tr>
      <th scope="col">Name </th>              
      <th scope="col">Email </th>                   
      <th scope="col">Disposition</th>
    </tr>
   
    <% @workspace.memberships_with_issues[:umich_guests].each do |guest| %>
      <% cache(guest) do %>
      <tr>
        <td scope="row"><%= guest.member.name %></td>
        <td scope="row"><%= guest.member.email %></td>
        <td scope="row">
          <select class="form-select"> 
            <option value="1" selected="selected">Undecided</option>
            <option value="2"><%= link_to 'Delete Member', workspace_member_disposition_path(@workspace.id, guest, "should_delete") %></option>
            <option value="3">Convert Guest to Full Member</option>
          </select>
        </td>
        <td><%= link_to 'Undecided', workspace_member_disposition_path(@workspace.id, guest, "undecided") %></td>
        <td><%= link_to 'Delete Member', workspace_member_disposition_path(@workspace.id, guest, "should_delete") %></td>
        <td><%= link_to 'Convert Guest to Full Member', workspace_member_disposition_path(@workspace.id, guest, "make_member") %></td>
      </tr>
      <% end %>
    <% end %>
  </table>
</div>

【问题讨论】:

【参考方案1】:

将选择输入选项转换为链接不是一个好主意。尽管它有可能违背 html 语义。您可以在此答案中找到一种方法:

https://***.com/a/2000689/2908539

以及为什么这不是一个好主意的解释。

也许您需要的是一个下拉菜单,值得对其进行一些研究。

【讨论】:

我认为 &lt;option&gt;&lt;a&gt;...&lt;/a&gt;&lt;/option&gt; 根本不是有效的 HTML,&lt;option&gt; 允许的内容是 "text" 所以浏览器可能会将 HTML 重写为符合但根本不是 OP 的内容在寻找。但是,是的,尝试它是个坏主意。 我同意。我建议只使用链接,或者 - 如果你愿意的话 - 使用 Bootstrap 按钮组:getbootstrap.com/docs/4.4/components/button-group 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。

以上是关于html选择标签中的rails link_to的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Rails 中的控制器混入和调用 link_to?

提交后禁用Rails中的link_to按钮以防止重复提交

Rails link_to 方法: :delete

Rails:在 link_to 中保留 GET 查询字符串参数

Rails 5使用link_to更新日期

14--Rails的ActiveView2