AR には Person クラスと PersonName クラスがあり、has_many の関係があります。ここで、PersonName モデルの形式がアルファベットかスペースかを検証したいと思います。コードは次のとおりです。
class Person < ActiveRecord::Base
has_many :names, :class_name => "PersonName", :dependent => :destroy
accepts_nested_attributes_for :names
end
class PersonName < ActiveRecord::Base
belongs_to :person
attr_accessible :full, :first, :middle, :last, :maiden, :title, :suffix, :nick
validates_format_of :full, :first, :middle, :last, :maiden, :title, :suffix, :nick, :with => /^[a-zA-Z\s]*$/, :on => :save
end
validates_format が実行されないようです。私が走るとき
PersonName.create(:full => '@#$@').valid?
コンソールでは true を返します。:on => :create に変更しようとしましたが、それでも true が返されます。何が問題なのですか?Person クラスで何かを指定する必要がありますか?