Rails 3.0.11: атрибуты = на родительской модели вызовут проверки на вложенных моделях - PullRequest
2 голосов
/ 19 января 2012

У меня проблема с работой с Rails 3.0.11 над проектом.У меня есть родительская модель под названием Candidate, которая имеет_он много nested_models.

Я использую nested_forms для сохранения кандидатов двумя способами: -> без проверок => Мне нужно сохранить «работа в процессе» -> с проверками => передпереходя к следующему шагу

Моя проблема касается первого пункта: «без проверок».Я не могу использовать update_attributes для массового назначения в моем контроллере, потому что он вызывает проверки.Я пробовал простой @ кандидат.attributes = params [: кандидат], но это тоже неправильно, потому что он вызывает проверку на вложенной модели (с помощью классического сохранения).

Моя проблема в том, что даже если я неt сохранить мою родительскую модель (я просто выполняю массовое назначение), вложенная модель сохраняется и запускаются проверки ...

Я что-то не так делаю?

Спасибо за вашу помощь.

С уважением,

Йоанн.

1 Ответ

0 голосов
/ 23 января 2012

Кажется, есть несколько способов не проверять объекты, хотя я точно не знаю, как они ведут себя при использовании вложенных атрибутов:

http://guides.rubyonrails.org/active_record_validations_callbacks.html

Поскольку вы пишете, что выпопытался обойти проверку с использованием update_attributes, возможно, вам следует попробовать условную проверку вместо этого на вашей вложенной модели.Примерно так:

validates :some_stuff, :presence => true, :if => Proc.new { |record| record.parent.complete? }

...