私はvalidate :my_validate
User モデルに持っていますがmy_validate
、「has_may :through」属性が変更された場合は呼び出されません。それは正しい行動ですか?
私のコード:
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 = []
ユーザーテーブルが更新されていないことは理解しているので、レールは検証は必要ないと考えていますが、それは本当に奇妙に見えます。