【发布时间】:2012-07-15 06:45:09
【问题描述】:
我的用户模型中有validate :my_validate,但如果“has_may :through”属性发生更改,则永远不会调用my_validate。这是正确的行为吗?
我的代码:
class User < ActiveRecord::Base
has_many :roles, :through => :user_roles
validate :my_validate
def my_validate
raise 123
end
这会引发异常:
User.find(1).name = 'new_name'
这行得通:
User.find(1).roles = []
我知道用户表没有更新,所以 rails 认为验证没有必要,但它看起来很奇怪。
【问题讨论】:
标签: ruby-on-rails validation orm associations