相关疑难解决方法(0)

何时使用"validates_associated"v."belongs_to:parent,:validate => true"

似乎在rails中你可以在两个地方定义关联验证,或者在关联本身上:

class Child

  belongs_to :parent, :validate => true

end
Run Code Online (Sandbox Code Playgroud)

或者作为验证回调:

class Child

  belongs_to :parent

  validates_associated :parent

end
Run Code Online (Sandbox Code Playgroud)

这两种方法有什么区别?

测试差异

我想也许前者会创建一个背压,并强制父母只有在孩子有效的情况下才有效:

即(设置时:validate => true)

child.valid? # => false
child.parent.valid? # => also evaluates to false because of the :validate => true condition


# do whatever it takes to make the child valid again
#...
child.valid? # => true
child.parent.valid? # => true
Run Code Online (Sandbox Code Playgroud)

但是我测试了它,但这不会发生.那两种方法之间有什么区别(如果有的话)?

activerecord ruby-on-rails

29
推荐指数
1
解决办法
8236
查看次数

标签 统计

activerecord ×1

ruby-on-rails ×1