Rails: нет 'field_with_errors' при использовании 'fields_for' - PullRequest
4 голосов
/ 21 мая 2011

Итак, у меня есть эта вложенная модель организации в моей модели пользователя. Пользовательская модель является моделью, основанной на разработке, и организация принадлежит пользователю.

Я создал для нее форму, и все отлично работает. Даже 'devise_error_messages!' выведите все правильно.

Только проблемы с локализацией и field_with_errors-div ..

Мне удалось правильно настроить локализацию, выполнив это в моем файле локали:

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

Конечно, я просто хочу, чтобы он работал без контакта в списке пользователей.

Но серьезная проблема, с которой я здесь сталкиваюсь, заключается в том, что div 'field_with_errors' обычно оборачивается вокруг полей с ошибками. Я использую его для создания красных меток на полях с ошибками. Они работают для пользовательского класса, но они не будут работать для вложенных форм ..

Google ничего не помогает, как будто ни у кого нет этой проблемы, кроме меня ..

Это вообще возможно?

Если это так, можете ли вы указать мне правильное направление?

Спасибо!

Ответы [ 2 ]

1 голос
/ 16 июля 2012

У меня была такая же проблема.Используйте это, и это работает:

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

Обратите внимание на часть user.organization ||: если организация уже построена, вам не следует перестраивать ее, иначе вы потеряете свои ошибки и выиграет field_with_errors-divне появляется.

0 голосов
/ 26 сентября 2011

У меня тоже была такая же проблема, и я исправил ее, добавив validates_associated :child_model к родительской модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...