4 এবং 5 এর ভাড়া
রেলস 4 এ, :paramবিকল্পটি যুক্ত করা হয়েছিল, যা মনে হচ্ছে আপনি যা করছেন ঠিক তেমনটি করে। আপনি দেখে নিতে পারেন 3 কোড পাগল তুলনায় পাগল 4 কোড ।
বিস্তারিত
আপনি সহজেই আপনার routes.rbফাইলটিতে এটি প্রয়োগ করতে পারেন :
# config/routes.rb
resources :posts, param: :slug
# app/controllers/posts_controller.rb
# ...
@post = Post.find_by(slug: params[:slug])
# ...
4 রেলগুলি মুক্তি পাওয়ার পরে, কার্যকারিতাটি রেল গাইডগুলিতে নথিভুক্ত করা হয়েছে ।
রেল 3
দুর্ভাগ্যক্রমে, রেল 3 এ, এর :keyঅপশনটি resourcesসরিয়ে দেওয়া হয়েছে, সুতরাং আপনি কেবলমাত্র অতিরিক্ত বিকল্পটি পেরিয়ে এভাবে সহজে তৈরি করা রুটের নাম পরিবর্তন করতে পারবেন না।
বিস্তারিত
আমি ধরে নিয়েছি আপনি গত বছরে আপনি যেভাবে চান অ্যাপ্লিকেশনটি ইতিমধ্যে কাজ করে ফেলেছেন তবে আমি আপনার রেল 3 ইন-তে বর্ণিত প্রভাবটি পেতে একটি উপায় যাব routes.rb। এটি to_paramপদ্ধতির চেয়ে কিছুটা বেশি কাজ করবে । আপনি এখনও যাত্রাপথ কাস্টম পরামিতি ব্যবহার নির্ধারণ করা বর্ণনা করতে পারেন scopeএবং match(অথবা এটা এর চাচাতো ভাই get, put, post, এবং delete)। ম্যাচারে আপনি যে প্যারামিটারের নামটি চান তা কেবল লিখুন:
get 'clients/:client_name', :to => 'clients#show', :as => client
scope 'clients/:client_name' do
get 'sites/:name', :to => 'sites#show', :as => site
end
আপনাকে ম্যানুয়ালি সমস্ত রুট যুক্ত করতে resourcesহবে যা স্বয়ংক্রিয়ভাবে আপনার জন্য তৈরি করে, তবে এটি আপনি যা সন্ধান করছেন তা অর্জন করবে। আপনি পুনরাবৃত্তি কিছু নিতে কার্যকরভাবে অতিরিক্ত :controllerবিকল্পগুলি scopeএবং বিকল্পগুলি ব্যবহার scopeকরতে পারেন।
সম্পাদনা (8 ই মে, 2014): উত্তরটিকে আরও স্পষ্ট করে তুলুন যে উভয়টিই 3 এবং 4 এর জন্য তথ্য রয়েছে তবে সঠিক লাইন নম্বরগুলিতে যেতে কোডের লিঙ্কগুলি আপডেট করুন এবং কমিট করুন যাতে তারা আরও দীর্ঘ সময়ের জন্য কাজ করতে পারে।
সম্পাদনা (নভেম্বর 16, 2014): রেল 4 এখন শীর্ষে থাকা উচিত এবং প্রাসঙ্গিক তথ্য অন্তর্ভুক্ত করা উচিত কারণ এটি বেশ কিছুদিন ধরেই রেলের বর্তমান সংস্করণ।
সম্পাদনা (আগস্ট 9, 2016): প্রতিফলিত করুন যে সমাধানটি এখনও 5 টি রেলগুলিতে কাজ করে এবং পুরানো লিঙ্কগুলিকে আপডেট করে।