Ruby on rails Rails表单帮助程序行为异常

Ruby on rails Rails表单帮助程序行为异常,ruby-on-rails,radio-button,form-helpers,Ruby On Rails,Radio Button,Form Helpers,我想用几个单选按钮来控制一些页面元素的模式。基本要求是,当选择不同的按钮时,它向用户显示激活的模式,并启动相应的模式切换功能。所以我尝试了以下方法 <%= radio_button_tag(:label_type, "tooltip", :checked, :onchange => 'console.log("tooltip")')%> <%= label_tag(:label_type_tooltip, "Enable Tooltip") %><br /&g

我想用几个单选按钮来控制一些页面元素的模式。基本要求是,当选择不同的按钮时,它向用户显示激活的模式,并启动相应的模式切换功能。所以我尝试了以下方法

<%= radio_button_tag(:label_type, "tooltip", :checked, :onchange => 'console.log("tooltip")')%>
<%= label_tag(:label_type_tooltip, "Enable Tooltip") %><br />
<%= radio_button_tag(:label_type, "labels", :onchange => 'console.log("labels")') %>
<%= label_tag(:label_type_labels, "Enable Labels") %>
'console.log(“工具提示”))%>

'console.log(“标签”))%>
如果没有传递给第二个单选按钮标记的:onchange参数,这似乎是可行的,但是使用它(如上所示)会产生混乱的效果,即没有将onchange事件附加到第二个单选按钮,而是将第二个单选按钮设置为checked(我不希望如此):


启用工具提示
启用标签

为什么??如何使其运行?

根据rails文档,这里是单选按钮标签的参数

radio_button_tag(name, value, checked = false, options = {})
您似乎忘记传递“已检查”值。试试下面的方法

<%= radio_button_tag(:label_type, "labels", false, :onchange => 'console.log("labels")') %>
'console.log(“标签”))%>

但是,我建议您在js或coffee文件中添加绑定,因为这种方法被认为不是一种好的做法。有关更多信息,请参阅jQueryAPI。谢谢

根据rails文档,这里是单选按钮标签的参数

radio_button_tag(name, value, checked = false, options = {})
您似乎忘记传递“已检查”值。试试下面的方法

<%= radio_button_tag(:label_type, "labels", false, :onchange => 'console.log("labels")') %>
'console.log(“标签”))%>
但是,我建议您在js或coffee文件中添加绑定,因为这种方法被认为不是一种好的做法。有关更多信息,请参阅jQueryAPI。谢谢