2011-09-09 7 views
1

sign_upには2種類のsign_upがあります。 "normal user"と "set user"はフィールドとバリデーションが異なりますが、 は1つのテーブルのみを参照します。しばらくサインアップ「一般ユーザ」としてではなく 「に設定したユーザ」のためと区別「ACCOUNT_TYPE」の検証を確認する必要があります使用レールの状態を確認する

validates_presence_of :first_name, 

:例えばのために、私は彼らのために検証条件をチェックする方法

、 彼らは別のテーブルにあるので、私は、ユーザー

validates_presence_of :first_name,:if=> Proc.new{|user| user.user_info.account_type !='set'} 

にできないですし、 はどのように私は条件をチェックし、データベースに保存する前に、それがですか?

答えて

0

あなたの回答は不明ですが、ユーザーモデルでコールバック( before_addまたはbefore_create)を使用できる可能性があります。

See the api: 

http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html

チェックbefore_validation機能も。

before_validation(:on => :create) do 
    # code check here... 
end 
関連する問題