Rails:使用'fields_for'时没有'field_with_errors'

时间:2011-05-21 11:43:38

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

所以,我在'用户'模型中有这个嵌套的'组织'模型。 用户模型是基于设计的模型,组织属于用户。

我为它创建了一个表单,一切正常。 甚至是'devise_error_messages!'正确输出一切。

只有问题是本地化和field_with_errors-div ..

我设法通过在我的语言环境文件中执行此操作来实现本地化:

nl:
  activerecord:
    attributes:
      user:
        contact:
          account_number: "bankrekening nummer"

当然,我只是希望它能够在“用户”列表中没有“联系人”的情况下工作。

但我在这里遇到的严重问题是'field_with_errors'div女巫通常在错误的字段周围缠绕..我用它在有错误的字段上创建红色标签..它们适用于用户类,但它们不适用于嵌套表格..

谷歌没有任何帮助,比如除了我之外没有人有这个问题..

这甚至可能吗?

如果是的话,你能指出我这样做的正确方向吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。使用它,它的工作原理:

<%= f.fields_for :organization, (user.organization || user.build_organization) do |organization_form|
  ...
<% end %>

请注意user.organization ||部分:如果组织已经构建,则不应重新构建它,否则您将丢失错误,并且不会出现field_with_errors-div。

答案 1 :(得分:0)

我也有同样的问题,我通过将validates_associated :child_model添加到模型来修复它。