如何将数据属性添加到simple_form表单标签?

问题描述 投票:15回答:3

我使用garlic.js来验证我的形式。 Garlic.js建议添加的形式标签的数据属性。

这就是我需要生成:

<form data-validate="parsley">

我有问题,生成的表单标签这个数据属性。我尝试了一切并没有什么工作。任何人有一个解决的办法?

ruby-on-rails simple-form custom-data-attribute
3个回答
24
投票

尝试这个:

<%= simple_form_for @entity, :html => {:"data-validate" => 'parsley'} do |f| %>
    <!-- inputs -->
<% end %>

更新

从下面的评论,有形式,包括没有价值的HTML5数据属性请尝试以下操作:

<%= simple_form_for @entity, :html => {:"other-data-value" => ''} do |f| %> 

通过该属性设置为空字符串的形式呈现帮手只是属性。


2
投票

您可以设置数据通过传递数据散列属性直接,但所有其他HTML选项必须被包裹在HTML关键。例:

<%= form_for(@post, data: { validate: "parsley" }, html: { name: "go" }) do |f| %>
   ...
<% end %>

这个生成的HTML是:

<form action='http://www.example.com' method='post' data-validate='parsley' name='go'>
  ...
 </form>

api.rubyonrails.org


0
投票

对于任何人在2016年跨过这个绊脚石使用或者滑轨(4)或香菜的较新版本的更新版本(2)这里是你需要做的:

首先要激活香菜在新版本的数据属性你现在从香菜1版添加的,而不是data-parsley-validate data-validate="parsley"。现在,让我们得到的是与轨道form_for工作。

即使你不使用香菜,这是如何在轨道4,5插入数据属性。

<%= form_tag '/login', :"data-parsley-validate" => '' do %>
    <!-- inputs -->
<% end %>

所以基本上不同的是没有使用html=>{}哈希值。我试过,看看是否能招会工作,至少对我来说我的标记是这样的:

<form action="/login" method="post" html="{:data-parsley-validate}">
    <!-- inputs -->
</form>

但是,简单地将数据在那里属性直接与一个空字符串作为对应值的象征,它完美地工作。这是我收到的标记。

<form action="/login" method="post" data-parsley-validate>
    <!-- inputs -->
</form>

换句话说它的完美。所以,这就是如何用Rails 4中得到你的form_tag数据属性。

© www.soinside.com 2019 - 2024. All rights reserved.