রুবি কনসোল থেকে একটি ছদ্মবেশী ব্যবহারকারী তৈরি করুন


146

রুবি কনসোল থেকে একটি নতুন ব্যবহারকারী অবজেক্ট তৈরি এবং সংরক্ষণ করবেন সে সম্পর্কে কোনও ধারণা?

আমি যখন এটি সংরক্ষণ করার চেষ্টা করেছি, আমি সর্বদা মিথ্যা হয়ে যাচ্ছি। আমার ধারণা আমি কিছু মিস করছি তবে আমি কোনও সম্পর্কিত তথ্য খুঁজে পাচ্ছি না।


1
আপনার প্রশ্নের কোনও উত্তর নয় এবং আপনি সম্ভবত রেলকাস্ট সম্পর্কে জেনে গেছেন তবে ডিভাইস সম্পর্কে শিখতে গিয়ে আমি এই ভিডিওর কার্যকারিতা পেয়েছি : রেলস্ক্রাস্টস / অ্যাপিসোড / ২০৯- সিন্ড্রোকসিং- ডিভাইস , রেলকাস্টগুলি / অ্যাপিসোড / ২১০- কাস্টমাইজিং- ডিভাইস । সেখানে ডিভাইস সম্পর্কে তাদের কাছে আরও কয়েকটি সত্যিকারের দরকারী ভিডিও রয়েছে। শুভকামনা।

2
হ্যাঁ, আমি তাদের উভয়ই দেখেছি, তবে আমি যা জিজ্ঞাসা করছি সে সম্পর্কে তারা কিছু বলেন না।
মার্টিন

উত্তর:


197

আপনি চাইলে বৈধতাগুলি এড়াতে আপনি সংরক্ষণ পদ্ধতিতে মিথ্যা যুক্ত করতে পারেন।

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


51
দেখে মনে হচ্ছে সংরক্ষণ (মিথ্যা) হ্রাস পেয়েছে, এখন সংরক্ষণ করা উচিত (: বৈধতা => মিথ্যা)
মার্টিন

9
এখানে ঠিক অনেক জাদু ঘটছে .. ব্যবহারকারী মডেলটি অ্যাক্টিভ রেকর্ডকে প্রসারিত করে। কীভাবে তৈরি পদ্ধতিটি ওভাররেড করা হয়। পাসওয়ার্ডটি এনক্রিপ্ট করা হচ্ছে কোথায়?
কোডআনন্দ


করাকে ভুল পদ্ধতি বলে মনে হচ্ছে। জোর করে বৈধকরণের (বা বৈধতা যাচাই করার) এই উপায়টি এনক্রিপ্টড_পাসওয়ার্ড সেট করবে না, তাই এই অ্যাপ্লিকেশনটিতে এই রেকর্ডটিকে অকেজো করে তোলে।
ভিপিউল

79

এটি ব্যবহার করে আপনার সক্ষম হওয়া উচিত

u = User.new(:email => "user@name.com", :password => 'password', :password_confirmation => 'password')
u.save

যদি এটি মিথ্যা ফিরে আসে, আপনি কল করতে পারেন

u.errors

কি ভুল হয়েছে তা দেখতে।


17
আপনি যদি ব্যবহার করেন: কনফার্মযোগ্য, টাইম.নোতে কনফার্মড_এ্যাট অ্যাট্রিবিউট সেট করতে ভুলবেন না যাতে আপনি এখনই লগ ইন করতে পারেন।
ডেভিড সুল্ক

9
একটি শর্টকাট হিসাবে, আপনি যদি ব্যবহার করেন Confirmable, কল করুনu.confirm!
ক্যাপ্টেনপেট

30

যখন আপনার মডেলটিতে রয়েছে: নিশ্চিতযোগ্য বিকল্পের অর্থ এই অবজেক্ট ব্যবহারকারীর প্রথমে নিশ্চিত হওয়া উচিত। আপনি ব্যবহারকারীকে সংরক্ষণ করার জন্য দুটি উপায় করতে পারেন।

ক। প্রথমটি হচ্ছে স্কিপ কনফার্মেশন:

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

6

আপনি যদি নিশ্চিতকরণ ইমেল প্রেরণ এড়াতে চান তবে সেরা পছন্দটি হ'ল:

    u = User.new({
      email: 'demo@greenant.com.br',
      password: '12feijaocomarroz',
      password_confirmation: '12feijaocomarroz'
    })

    u.confirm
    u.save

সুতরাং আপনি যদি কোনও নকল ইমেল ব্যবহার করেন বা কোনও ইন্টারনেট সংযোগ না থাকে তবে ত্রুটিগুলি এড়ানো হবে।


আপডেট: confirm!এখন ঠিকconfirm
শেডো রেডিয়েন্স

2

উপরের উত্তরগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি।

এটি আমিই করেছি:

User.create(email: "a@a.com", password: "asdasd", password_confirmation: "asdasd")

মনে রাখবেন যে পাসওয়ার্ডটি অবশ্যই 6 টি অক্ষরের চেয়ে বড় হতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.