আমি একটি রেল 3 অ্যাপে ডিভাইস ব্যবহার করছি, তবে এই ক্ষেত্রে অবশ্যই একজন বিদ্যমান ব্যবহারকারী অবশ্যই তৈরি করবেন, যিনি তার / তার কী অনুমতি নেবেন তা নির্ধারণ করে।
এই কারণে, আমি চাই:
- করতে ব্যবহারকারীদের সাইন আপ করতে জন্য রুট অপসারণ ।
- ব্যবহারকারীদের সাইন আপ করার পরেও তাদের প্রোফাইল সম্পাদনা করার (ইমেল ঠিকানা এবং পাসওয়ার্ড পরিবর্তন করতে) অনুমতি দেওয়ার জন্য
কিভাবে আমি এটি করতে পারব?
বর্তমানে, আমি নিম্নলিখিতটি আগে রেখে কার্যকরভাবে এই রুটটি সরিয়ে দিচ্ছি devise_for :users
:
match 'users/sign_up' => redirect('/404.html')
এটি কাজ করে, তবে আমি কল্পনা করি এর থেকে আরও ভাল উপায় আছে, তাই না?
হালনাগাদ
বেনোইট গ্যারেট যেমন বলেছিলেন, আমার ক্ষেত্রে সবচেয়ে ভাল সমাধান হ'ল রেজিস্ট্রেশন রুটগুলি মাস্কে তৈরি করা ছেড়ে দেওয়া এবং কেবলমাত্র আমি আসলে যা চাই তা তৈরি করা।
এটি করার জন্য, আমি প্রথমে দৌড়েছি rake routes
, তারপরে আমি যা চেয়েছিলাম তা পুনরায় তৈরি করতে আউটপুটটি ব্যবহার করেছি। শেষ ফলাফলটি ছিল:
devise_for :users, :skip => [:registrations]
as :user do
get 'users/edit' => 'devise/registrations#edit', :as => 'edit_user_registration'
put 'users' => 'devise/registrations#update', :as => 'user_registration'
end
মনে রাখবেন যে:
- আমি এখনও
:registerable
আমারUser
মডেল আছে devise/registrations
ইমেল এবং পাসওয়ার্ড আপডেট করে পরিচালনা করে- অন্যান্য ব্যবহারকারীর বৈশিষ্ট্যগুলি আপডেট করা - অনুমতি ইত্যাদি a একটি আলাদা নিয়ামক দ্বারা পরিচালনা করা হয়
আসল উত্তর:
ডিফল্ট ডিভাইস পাথগুলির জন্য রুটটি সরান; অর্থাৎ,
devise_for :users, path_names: {
sign_up: ''
}
https://example.com/users/
। আমার উত্তর নীচে দেখুন।