রুবি কনসোল থেকে একটি নতুন ব্যবহারকারী অবজেক্ট তৈরি এবং সংরক্ষণ করবেন সে সম্পর্কে কোনও ধারণা?
আমি যখন এটি সংরক্ষণ করার চেষ্টা করেছি, আমি সর্বদা মিথ্যা হয়ে যাচ্ছি। আমার ধারণা আমি কিছু মিস করছি তবে আমি কোনও সম্পর্কিত তথ্য খুঁজে পাচ্ছি না।
রুবি কনসোল থেকে একটি নতুন ব্যবহারকারী অবজেক্ট তৈরি এবং সংরক্ষণ করবেন সে সম্পর্কে কোনও ধারণা?
আমি যখন এটি সংরক্ষণ করার চেষ্টা করেছি, আমি সর্বদা মিথ্যা হয়ে যাচ্ছি। আমার ধারণা আমি কিছু মিস করছি তবে আমি কোনও সম্পর্কিত তথ্য খুঁজে পাচ্ছি না।
উত্তর:
আপনি চাইলে বৈধতাগুলি এড়াতে আপনি সংরক্ষণ পদ্ধতিতে মিথ্যা যুক্ত করতে পারেন।
User.new({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" }).save(false)
নইলে আমি এটি করতাম
User.create!({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" })
আপনি যদি confirmable
মডিউলটি কল্পিত করার জন্য সক্ষম করে থাকেন তবে নিশ্চিত হন যে আপনি তৈরির সময় confirmed_at
এমন কোনও কিছুর মান নির্ধারণ করছেন Time.now
।
এটি ব্যবহার করে আপনার সক্ষম হওয়া উচিত
u = User.new(:email => "user@name.com", :password => 'password', :password_confirmation => 'password')
u.save
যদি এটি মিথ্যা ফিরে আসে, আপনি কল করতে পারেন
u.errors
কি ভুল হয়েছে তা দেখতে।
Confirmable
, কল করুনu.confirm!
যখন আপনার মডেলটিতে রয়েছে: নিশ্চিতযোগ্য বিকল্পের অর্থ এই অবজেক্ট ব্যবহারকারীর প্রথমে নিশ্চিত হওয়া উচিত। আপনি ব্যবহারকারীকে সংরক্ষণ করার জন্য দুটি উপায় করতে পারেন।
ক। প্রথমটি হচ্ছে স্কিপ কনফার্মেশন:
newuser = User.new({email: 'superadmin1@testing.com', password: 'password', password_confirmation: 'password'})
newuser.skip_confirmation!
newuser.save
খ। বা ব্যবহার নিশ্চিত করুন! :
newuser = User.new({email: 'superadmin2@testing.com', password: 'password', password_confirmation: 'password'})
newuser.confirm!
newuser.save
আপনি যদি নিশ্চিতকরণ ইমেল প্রেরণ এড়াতে চান তবে সেরা পছন্দটি হ'ল:
u = User.new({
email: 'demo@greenant.com.br',
password: '12feijaocomarroz',
password_confirmation: '12feijaocomarroz'
})
u.confirm
u.save
সুতরাং আপনি যদি কোনও নকল ইমেল ব্যবহার করেন বা কোনও ইন্টারনেট সংযোগ না থাকে তবে ত্রুটিগুলি এড়ানো হবে।
confirm!
এখন ঠিকconfirm
উপরের উত্তরগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি।
এটি আমিই করেছি:
User.create(email: "a@a.com", password: "asdasd", password_confirmation: "asdasd")
মনে রাখবেন যে পাসওয়ার্ডটি অবশ্যই 6 টি অক্ষরের চেয়ে বড় হতে হবে।