Добавьте этот вспомогательный метод в помощнике приложения
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
затем использовать <% = form_for (@member,: данные => { 'соблюдать' => ''}) сделать | е | %>, который будет производить html
<form accept-charset="UTF-8" action="/members" class="new_member" data-abide="" id="new_member" method="post">
Это создаст «<форма data-abide = "your-data-abide>", но мне нужно
Я думаю, если вам нужно поместить любой атрибут в форму, вам нужно добавить к нему значение. –
Я не понимаю, как это принятый ответ на этот вопрос. – aviemet