要使基础验证工作,我必须添加'data-abide'属性来形成这样的标记:
<form data-abide>
如何使用rails中的form_for标记执行此操作?
完整的rails代码:
<%= form_for @member, html: {class: "custom"} do |f| %>
答案 0 :(得分:1)
在rails form_for语法中,您可以执行以下操作:
:html => {"data-abide" => ''}
我正在使用表格助手,这样做非常好。
答案 1 :(得分:1)
我在form_for帮助器中使用它,如下例所示:
<%= form_for @user, html: { :"data-abide" => "" } do |f| %>
这将生成以下html,并且Abide将起作用:
<form accept-charset="UTF-8" action="/users" class="new_user" data-abide="" id="new_user" method="post" novalidate="novalidate">
答案 2 :(得分:0)
<%= form_tag '', 'data-abide' => '' %>...<% end %>
或<%= tag :form, 'data-abide' => '' do %><% end %>
是否有理由使用铁路助手?使用<form data-abide>
会不会更容易?
答案 3 :(得分:0)
将此辅助方法添加到应用程序帮助程序
中def tag_options(options, escape = true)
unless options.blank?
attrs = []
options.each_pair do |key, value|
if key.to_s == 'data' && value.is_a?(Hash)
value.each do |k, v|
unless v.is_a?(String) || v.is_a?(Symbol) || v.is_a?(BigDecimal)
v = v.to_json
end
v = ERB::Util.html_escape(v) if escape
attrs << %(data-#{k.to_s.dasherize}="#{v}")
end
elsif !value.nil?
final_value = value.is_a?(Array) ? value.join(" ") : value
final_value = ERB::Util.html_escape(final_value) if escape
attrs << %(#{key}="#{final_value}")
end
end
" #{attrs.sort * ' '}".html_safe unless attrs.empty?
end
end
然后使用&lt;%= form_for(@ member,:data =&gt; {'abide'=&gt;''})do | f | %&gt ;,将产生html
<form accept-charset="UTF-8" action="/members" class="new_member" data-abide="" id="new_member" method="post">
答案 4 :(得分:0)
Josh Lehmans的回答帮助了我。以下是表单的完整工作示例。
<%= form_for @customer, html: {"data-abide" => ''} do |f| %>
<%= f.text_field :name, placeholder: "Your name", :required => '' %>
<%= content_tag(:small, "This field is required", class: "error") %>
<% end %>
答案 5 :(得分:-2)
尝试使用
<% form_for @your_object, :html => {:data => {:abide => 'your-data-abide'}} do |f|%>