版本:Rails 4.2.5& Ruby 2.2。 我在form_tag中使用了radio_button_tag。
- options = ['Yes', 'No']
- options.each do |option|
= radio_button_tag 'val[0]', '#{option}', false
= label_tag( "#{option}")
保存时,数据保存正确(我们将数据保存为Hash)&也正确检索。但是数据没有反映在radio_button_tag中。
为此,我将radio_button_tag添加为:
= radio_button_tag 'val[0]', '#{option}', @value[:val][0]
它总是选择“否”单选按钮。生成的html都检查了''已检查'。
我该如何解决这个问题?
答案 0 :(得分:0)
我们将此代码更改为如下所示:
= radio_button_tag 'val[0]', 1, @value[:val][0] == '1'
%label{for: 'val_0_1'} Yes
= radio_button_tag 'val[0]', 0, @value[:val][0] == '0'
%label{for: 'val_0_0'} No
我们从数据库中获取字符串,因此无法进一步处理&在HTML中,两者都是经过检查的,所以它总是选择最后一个。