使用form_tag而不是form_form时可以使用类似ActiveRecord的表单验证(因此未绑定到模型)吗?怎么样?
答案 0 :(得分:8)
您无法使用form_tag进行验证,因为您的表单未绑定到模型。
但好处是使用Rails 3和ActiveModel可以创建未绑定到数据库的模型。 因此,您可以创建“虚拟”模型,其中包含对搜索表单,联系表单等的验证。
答案 1 :(得分:1)
由于form_tag不绑定任何模型,因此您必须验证数据并编写代码以自行显示错误。
或者您可以尝试使用验证创建非数据库后端模型,并使用form_for。
答案 2 :(得分:1)
这在Rails 3.0.9中适用于我:
<%= form_tag("/events", :id => "new_event") do %>
<%= error_messages_for @event %>
<%= submit_tag "Submit" %>
<% end %>
答案 3 :(得分:0)
只要有一个对象被保存并且你在模型上有某种验证,AR就会返回错误。