Rails Routing হল Ruby on Rails অ্যাপ্লিকেশনে ইউজারের রিকোয়েস্টকে সঠিক কন্ট্রোলার এবং অ্যাকশনে রিডাইরেক্ট করার প্রক্রিয়া। এটি অ্যাপ্লিকেশনের URL এর সাথে সম্পর্কিত রিকোয়েস্টগুলোকে উপযুক্ত কন্ট্রোলার এবং অ্যাকশনের মধ্যে ম্যাপ করে। রাউটিং অ্যাপ্লিকেশন ব্যবহারকারীদের জন্য URL এবং কন্ট্রোলারের মধ্যে সংযোগ স্থাপন করে, যাতে তাদের রিকোয়েস্ট সঠিকভাবে প্রক্রিয়া করা যায়।
Rails Routing এর মূল বিষয়
Rails Routing কন্ট্রোলার এবং অ্যাকশনগুলোর সাথে URL সম্পর্কিত ম্যাপিং তৈরি করে। এটি বিশেষভাবে config/routes.rb ফাইলে কনফিগার করা হয়। এই ফাইলটি অ্যাপ্লিকেশন রিকোয়েস্টের জন্য ডিফল্ট রাউটের নিয়ম নির্ধারণ করে।
Routing এর মৌলিক কাঠামো
config/routes.rb ফাইলে Rails রাউটিং নির্ধারণ করা হয়। এখানে আমরা যেভাবে রাউটিং করতে পারি তার কিছু উদাহরণ নিচে দেওয়া হলো:
১. Simple Routing (প্রাথমিক রাউটিং)
প্রাথমিক রাউটিং হচ্ছে একটি URL থেকে কন্ট্রোলার এবং অ্যাকশনের মধ্যে সম্পর্ক স্থাপন করা।
Rails.application.routes.draw do
get 'welcome/index'
end
এখানে, get 'welcome/index' রাউটটি URL /welcome/index কে WelcomeController এর index অ্যাকশনে রিডাইরেক্ট করবে।
২. Root Route (মূল রুট)
একটি ওয়েব অ্যাপ্লিকেশনের ডিফল্ট রাউট বা "root" রাউট নির্ধারণ করতে:
Rails.application.routes.draw do
root 'welcome#index'
end
এটি / URL-কে WelcomeController এর index অ্যাকশনে রিডাইরেক্ট করবে।
৩. RESTful Routing
Rails একটি RESTful রাউটিং স্টাইল ব্যবহার করে, যা সাধারণ CRUD (Create, Read, Update, Delete) অপারেশনগুলির জন্য স্বয়ংক্রিয়ভাবে রাউট তৈরি করে।
Rails.application.routes.draw do
resources :articles
end
এই কোডটি articles রিসোর্সের জন্য সব ধরনের রাউট তৈরি করবে:
- GET /articles →
ArticlesController#index - GET /articles/:id →
ArticlesController#show - POST /articles →
ArticlesController#create - GET /articles/new →
ArticlesController#new - GET /articles/:id/edit →
ArticlesController#edit - PATCH/PUT /articles/:id →
ArticlesController#update - DELETE /articles/:id →
ArticlesController#destroy
এটি Rails এর RESTful নীতির আওতায় কাজ করে, যেখানে একটি রিসোর্সের জন্য প্রতিটি অপারেশনকে একটি নির্দিষ্ট URL এবং HTTP মেথডের সাথে মেলানো হয়।
৪. Named Routes (নামকৃত রাউট)
নামকৃত রাউট ব্যবহার করলে রাউটের জন্য সহজে URL তৈরি করা যায়।
Rails.application.routes.draw do
get 'welcome/index', as: 'home'
end
এখানে, home_path ব্যবহার করে /welcome/index এর জন্য URL তৈরি করা যাবে:
<%= link_to 'Home', home_path %>
৫. Dynamic Segments (ডায়নামিক সেগমেন্ট)
Rails এ ডায়নামিক সেগমেন্ট ব্যবহার করে URL এর মধ্যে ভেরিয়েবল প্যারামিটার যোগ করা যায়।
Rails.application.routes.draw do
get 'articles/:id', to: 'articles#show'
end
এখানে, :id একটি প্লেসহোল্ডার, যা বাস্তবে কোনও মান যেমন 1, 2, বা abc হতে পারে। এটি ArticlesController এর show অ্যাকশনকে নির্দিষ্ট id প্যারামিটার দিয়ে কল করবে।
৬. HTTP মেথড অনুযায়ী রাউটিং
Rails বিভিন্ন HTTP মেথড (GET, POST, PATCH, DELETE) এর মাধ্যমে রাউটিং পরিচালনা করে।
Rails.application.routes.draw do
get 'articles', to: 'articles#index' # GET
post 'articles', to: 'articles#create' # POST
patch 'articles/:id', to: 'articles#update' # PATCH
delete 'articles/:id', to: 'articles#destroy' # DELETE
end
Rails Routing এর অগ্রগতি
- HTTP মেথডের প্রতি প্রতিক্রিয়া: রাউটিং HTTP মেথড অনুযায়ী কাজ করে, যেমন GET, POST, PUT, DELETE।
- RESTful রাউটিং: এটা Rails অ্যাপ্লিকেশনকে একটি পরিষ্কার কাঠামো দেয়, যাতে CRUD অপারেশনগুলো সহজে পরিচালিত হয়।
- নামকৃত রাউট: আপনি সহজেই রাউটের নাম ব্যবহার করে URL তৈরি করতে পারেন, যা অ্যাপ্লিকেশনকে আরও পরিষ্কার এবং লজিক্যাল করে তোলে।
- ডায়নামিক সেগমেন্টস: URL প্যারামিটার গ্রহণ করতে রাউটিং কাস্টমাইজ করা যায়।
সারমর্ম
Rails রাউটিং হল একটি অত্যন্ত গুরুত্বপূর্ণ অংশ, যা ইউজারের রিকোয়েস্টকে সঠিক কন্ট্রোলার এবং অ্যাকশনে পাঠাতে সাহায্য করে। এটি config/routes.rb ফাইলে নির্ধারণ করা হয়, যেখানে URL এবং কন্ট্রোলারের সম্পর্ক স্থাপন করা হয়। Rails এর রাউটিং সিস্টেম HTTP মেথড, RESTful রাউটিং, নামকৃত রাউট, এবং ডায়নামিক সেগমেন্ট ব্যবহার করে অ্যাপ্লিকেশন ডেভেলপমেন্টকে সহজ এবং সুশৃঙ্খল করে তোলে।
Read more