रेल 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