在一个表单上为多个非嵌套模型运行验证

时间:2012-04-20 15:12:13

标签: ruby-on-rails ruby-on-rails-3

我有一个表单,它收集两个完全不相关的模型的数据。模型不是嵌套的。我想知道执行验证和显示组合错误消息的最佳方法。

我假设我需要这样的视图,但我不确定如何组合错误消息并立即显示它们。

<%= form_for @first_model do |f| %>
    <%= render 'shared/error_messages', object: f.object %>

    <%= f.label :instructions %>
    <%= f.text_area :instructions %>

    <%= fields_for @second_model do |ff| %>
        <%= ff.label :quantity %>
        <%= ff.text_field :quantity %>
    <% end %>
<% end %>

1 个答案:

答案 0 :(得分:0)

您认为

fields_for是错误的。如果second_model嵌套到first_model中,就会出现这种情况。

我相信你必须在这里改变你的方法。我的建议是,您应该将新的class定义为无表格模型,以统一两个模型的属性。然后你应该发展你对这个新模型的看法。

顺便说一下,active_attr(找到它here)宝石可以让你定义这样的模型。