Ruby on rails 为什么“validates_associated”存在?
railsguide的发言人说: 当您的模型与其他模型有关联并且它们也需要验证时,您应该使用此帮助器 因此,我认为如果没有Ruby on rails 为什么“validates_associated”存在?,ruby-on-rails,Ruby On Rails,railsguide的发言人说: 当您的模型与其他模型有关联并且它们也需要验证时,您应该使用此帮助器 因此,我认为如果没有验证\u关联的,就无法运行关联模型的验证 但实际上,它是在没有它的情况下运行的 有两种模式,学校和学生 class School < ActiveRecord::Base has_many :students validates :name, presence: true end class Student < ActiveRecord::Base
验证\u关联的,就无法运行关联模型的验证
但实际上,它是在没有它的情况下运行的
有两种模式,学校和学生
class School < ActiveRecord::Base
has_many :students
validates :name, presence: true
end
class Student < ActiveRecord::Base
belongs_to :school
validates :name, presence: true
end
我的问题是
这是铁路向导的错误吗
为什么验证与之相关的\u
存在
还是我有什么错误的想法
我的环境是
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin14.0]
Rails 4.2.0
保存之前,它会检查关联对象是否有效,但正如我在上面所写的,即使没有验证关联对象,关联对象的验证也会运行。@tarky除非子模态保存,否则第一个模态不会保存。谢谢!但正如我在上面所写的,无论是否使用验证\u关联的
,第一个模型都没有保存。
class School < ActiveRecord::Base
has_many :students
validates :name, presence: true
validates_associated :students
end
class Student < ActiveRecord::Base
belongs_to :school
validates :name, presence: true
end
school.errors.full_messages
=> ["Students is invalid", "Students is invalid"]
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin14.0]
Rails 4.2.0