在Rails表单中将表单输入属性“name”更改为“data-encrypted-name”

时间:2014-01-15 20:30:02

标签: html ruby-on-rails ruby-on-rails-3 forms braintree

Change form input attribute 'name' to 'data-encrypted-name'讨论了Django,但这个问题是关于Rails的。

我在Rails中创建了一个表单来处理与Braintree的信用卡付款。但是,加密并不起作用,因为Rails会向表单添加名称属性。根据{{​​3}},我想用data-encrypted-name属性替换名称属性。我该怎么做呢?

这个(嵌套的)表单助手:

<%= cc.text_field :number %>

..创建以下元素:

 <input id="credit_card_number" name="credit_card[number]" size="30" type="text">

如何将name替换为data-encrypted-name

2 个答案:

答案 0 :(得分:3)

尝试text_field_tag喜欢

<%= text_field_tag 'credit_card[data-encrypted-name]', size: 30 %>

您也可以指定一个值,例如

<%= text_field_tag 'credit_card[data-encrypted-name]', cc.number, size: 30 %>

答案 1 :(得分:0)

实际上菲尔普的答案是有效的。鉴于Braintree的文档,开发模式中的以下内容按预期运行:

c.text_field  :number, 'data-encrypted-name' => "number"