一部の条件に応じてacts_as_authenticブロック内で検証を使用するauthlogicのモデルUserで条件付き検証を実行する可能性はありますか? Ryan Bates の railscast 217 with authlogic で説明されているマルチステップ登録フォームを実装しようとしています。
1 に答える
3
はい、authlogic で条件付き検証を設定することは可能です。User モデルでは、次のものを使用できます。
class User < ActiveRecord::Base
acts_as_authentic do |config|
config.merge_validates_format_of_login_field_options {:if => :do_validation}
end
ここで、:do_validation は、定義した条件に基づいて true または false を返す User のメソッドです。他にも使用できるフックがあります。この例に関連する情報については、 http: //www.rubydox.net/class/authlogic/2.1.3/Authlogic::ActsAsAuthentic::Login::Configを参照してください。パスワードフィールドについても同様のことができます。
上記のコード例は記憶からのものであることに注意してください. 明日仕事に戻ったときに確認し、必要に応じて修正します。
UPDATEコード例が正しいことを確認しました。また、validates_format_of の標準 RoR オプションのいずれかをこの特定の authlogic 構成設定にマージできることにも注意してください。http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#M001401
于 2010-06-28T22:04:02.633 に答える