проверка соответствия принадлежности - PullRequest
2 голосов
/ 21 сентября 2011

Я пытаюсь проверить модель студента, как это;

class Student < ActiveRecord::Base
  belongs_to :room
end

Я хочу убедиться, что Комната является действительной моделью, и с этим я могу сохранить студента, только если комната действительна.

Я пытался изменить ассоциацию на:

belongs_to :room, :validate => true

Но это не изменило поведение .. API говорит:

:validate
  If false, don’t validate the associated objects when saving the parent object. false by default.

Итак, я изменил валидацию на комнату:

class Room < ActiveRecord::Base
  has_many :students, :validate => true
end

но ни один из вариантов не решает для меня

есть идеи ???

1 Ответ

6 голосов
/ 21 сентября 2011

Дайте этому попытку ...

class Student < ActiveRecord::Base
  belongs_to :room
  validates_associated :room
end

Я смотрю на эту часть документации API: http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#method-i-validates_associated

Кроме того, будьте осторожны, чтобы не использовать эту проверку на обе стороны ассоциации!

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