レール付き4 has_secure_passwordを私のユーザモデルに使用すると、設定しなければ:password_confirmationは実行されませんが、テストを実行するとエラーが発生します:パスワードの確認は、次のように空白にすることはできません。レール4 has_secure_passwordレンダリングパスワードの確認オプション
Failures:
1) User
Failure/Error: it { should be_valid }
expected #<User id: nil, name: "joe", email: "[email protected]", created_at: nil,
updated_at: nil, password_digest: "$2a$04$mcRr/msgYQR3kBVc3kv/m.UotBJuJuSXZKMw
/eHTvU87..."> to be valid, but got errors: Password confirmation can't be blank
私のテストファイルは以下のようになります。
require 'spec_helper'
describe User do
before { @user = User.new(name: 'joe', email: '[email protected]', password: 'foo') }
subject { @user }
#....
#....
describe "when password is not present" do
before { @user.password = "" }
it { should_not be_valid }
end
end
私はこのエラーを取得する理由としては、そこにありますそれのためのolution?これに感謝の
が、私は私のアプリにpassword_confirmationを追加しないと、私は – medBo
一度だけパスワードが必要ですこれは、ユーザー作成時にのみ使用されます。それをモデルに追加する必要はありません。これは 'has_secure_password'の機能です。 –
私は理解していませんより多くを説明してください! (私の形式では、私はパスワードのためのフィールドを正当化し、パスワードの確認のためのフィールドはもうないでしょう) – medBo