Rails - 如何向text_field_tag添加属性

时间:2013-12-27 18:04:55

标签: html ruby-on-rails textfield custom-data-attribute

我想将数据属性添加到文本字段标记

<%= text_field_tag(:address) %>

产生

<input id="address" type="text" name="address") %>

使其具有

的HTML
<input id="address" type="text" name="address" data-clob="ccc") %>

所以我试过

<%= text_field_tag(:address, data:{clob: 'ccc'}) %>

但是它被添加为实际值而不是属性,即

<input id="address" type="text" value="{:data=>{:clob=>"ccc"}}" name="address"></input>

即使我使用了

的文本字段标签
<%= label_tag(:address, t("ui.reservations.between_now_and_param", 
param: @start_date.strftime(    time_format)), data:{blob: 'bbb'})%>

详见How to add HTML5 data- attributes to a rails form label tag?

如何将其添加为属性?

1 个答案:

答案 0 :(得分:5)

答案是该值需要第二个参数,使用"",,不起作用,但使用nil确实没有 - 导致没有“value =”属性生成,例如

<%= text_field_tag(:address, nil, data:{clob: 'ccc'}) %>

虽然我需要查看是否可以在错误时重新显示此表单...