2010-12-01 6 views
0

私はレールの初心者です。どのように検証されたパスワードフィールドを置くか。 createでのみ指定され、allow_blankメソッドが使用されました。しかし、私はそれを更新するたびにパスワードフィールドにnilを作成します。どんな助け?フィールドを更新しない方法Ruby on Rails

validates :password, :presence => { :on => :create }, 
        :confirmation => true, 
        :length => { :within => 8..40}, 
        :allow_blank => true, 
+0

お持ちですか? –

+0

あなたが話しているレコードを作成するために使用しているコードを投稿したいかもしれません。また、あなたの意図は何ですか? dbに空でない空文字列が必要ですか? – aceofspades

+0

パスワードを変更せずにプロファイルを更新する方法を見つけようとしていました。私は私の問題を理解した。上のコードが正しいことが分かりました。それでも私のパスワードの確認フィールドを暗号化していて、ただ混乱させていました。だから私はパスワードを変更した場合はencrypt_passwordを入れなければならなかった。ごめんなさい、これはあなたにゴミのように聞こえる。私はCのようなシステム言語に慣れているので、ルビーがどのように盲目になるのか理解できます –

答えて

2

この試してみてください:あなたのschema.rb(または移行)にデフォルト=> nilに:

validates :password, :presence => { :if => :new_record? }, 
        :confirmation => true, 
        :length => { :within => 8..40 } 
関連する問題