Rails:如何添加一个空的' required'属性为radio_button_tag

时间:2014-07-21 13:57:43

标签: html ruby-on-rails validation

我尝试使用radio_button_tag生成一个单选按钮标记,如:

<input type="radio" ... required>

为了添加表单验证(我使用Foundation并尝试使用Abide库)。我能得到的最接近的是:

radio_button_tag 'my_radio', ... , required: ''

# => <input type="radio" ... required="required">

这似乎足以让Abide工作,但有没有办法让我能从Rails助手那里得到我想要的东西?我已尝试required: true代替required: '',但行为相同。

2 个答案:

答案 0 :(得分:4)

正如您在此处所见:https://github.com/rails/rails/blob/4de8851289077239ecc91473bdba30f8cf6727bb/actionview/lib/action_view/helpers/tag_helper.rb#L149

Rails只是查找“if value”值的存在。空字符串被认为是一个值,因为它不是nil,这就是触发rails包含“required ='required'”属性的原因。

Abide真的需要标签为空吗?看起来它可能只是检查是否存在“必需”属性,因此它可能不关心属性是否具有值。

答案 1 :(得分:4)

没有复制/粘贴的字面答案,所以我提供了一个。

<%= radio_button_tag(:model_id, model.id, false, required: 'required') %>