如何在 rails 中使用 remote:true 使用 radio_button/ 单选按钮在选择时没有标记

How to use remote:true in rails using radio_button/ radio button no mark when selected

我想制作一个单选按钮,当 selected 时,它将创建一个新选项卡(bootstrap 带有导航选项卡的面板),在该选项卡中,我可以注册与selected 单选按钮。例如,当我选择水果单选按钮时,它会创建一个新选项卡,当我转到该选项卡时,我可以输入它的名称、重量等...当我选择 select 肉类单选按钮时,它将重新创建一个新标签。

这是我的首选代码:

<input type="radio" name="id" value="<%= row.id %>" onclick="document.location.href='<%= path_name %>" data-remote="true">

但遗憾的是,data-remote="true" 无法正常工作,也无法创建新标签页。

我找到了使用以下代码实现它的方法:

<% @foo.each do |row| %>
    <%= link_to(pathname, :remote => "true") do %>
        <input type="radio" name="id" value="<%= row.id %>">
    <% end %>
<% end %>

但是,使用此代码,单选按钮不能 selected(没有标记表明它是 selected)。

任何人都可以帮助我如何使远程="true"工作或使 select 单选按钮可见。

jQuery UJS 使用表单或链接 - 而不是单一输入。然而,用 jQuery 编写事件处理程序真的很简单。

<%= radio_button_tag :id, row.id, data: { href: path_name }, class: 'remote-input' %>

使用 data 属性将数据传递到客户端而不是内联 onclick 处理程序。

# place this in 
# app/assets/javascripts/
$(document).on("change",".remote-input", function(){
  var uri = $(this).data('href');
  if (uri){
    window.location = uri;
  }
  // or whatever you want to do.
});