验证belongs_to关联

时间:2011-09-20 20:56:55

标签: ruby-on-rails validation model

我正在尝试验证像这样的模型学生;

class Student < ActiveRecord::Base
  belongs_to :room
end

我想确保Room是一个有效的模型,只有在房间有效时我才能保存学生。

我尝试将关联更改为:

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 个答案:

答案 0 :(得分:6)

试一试......

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

另外,请注意不要在协会的两个方面使用该验证!