Ruby on Rails (RoR) অ্যাপ্লিকেশনে routes ব্যবহার করা হয় ইউজারের রিকোয়েস্টকে সঠিক কন্ট্রোলার অ্যাকশনের কাছে রিডাইরেক্ট করার জন্য। RoR এ static এবং dynamic রাউটিং দুটি গুরুত্বপূর্ণ ধারণা। Static routes সাধারণত নির্দিষ্ট URL পাথের জন্য ব্যবহৃত হয়, যেখানে Dynamic routes ইউজারের আর্গুমেন্ট বা ভেরিয়েবলকে URL এর অংশ হিসেবে অন্তর্ভুক্ত করে।
এখানে আমরা Static routes এবং Dynamic routes তৈরি করার পদ্ধতি আলোচনা করব।
Static Routes তৈরি করা
Static routes সাধারণত নির্দিষ্ট URL পাথের জন্য ব্যবহৃত হয়, যেখানে কোন ভেরিয়েবল বা আর্গুমেন্ট থাকে না। এটি সাধারণত সহজ অ্যাকশনের জন্য ব্যবহার হয়।
Static Route এর উদাহরণ
ধরা যাক, আপনার ওয়েব অ্যাপ্লিকেশনে একটি home পেজ তৈরি করতে চান, যেখানে একটি নির্দিষ্ট URL পাথ /home থাকবে।
ধাপ ১: config/routes.rb ফাইলে Static Route যুক্ত করা
Rails.application.routes.draw do
get 'home', to: 'pages#home'
end
- এখানে,
/homeURL পাথটিpagesকন্ট্রোলারেরhomeঅ্যাকশনের দিকে নির্দেশ করবে।
ধাপ ২: কন্ট্রোলার তৈরি করা
rails generate controller Pages home
- এই কমান্ডটি
PagesControllerতৈরি করবে এবংhomeঅ্যাকশন এবং এর সাথে একটি ভিউ তৈরি করবে।
ধাপ ৩: app/controllers/pages_controller.rb ফাইলে অ্যাকশন লেখা
class PagesController < ApplicationController
def home
# এখানে আপনি ডেটা বা অন্যান্য লজিক যুক্ত করতে পারেন
end
end
ধাপ ৪: app/views/pages/home.html.erb ফাইলে HTML কোড লেখা
<h1>Welcome to the Home Page</h1>
<p>This is a static route example in Ruby on Rails.</p>
রাউটটি কাজ করছে কিনা যাচাই
এখন আপনি ব্রাউজারে http://localhost:3000/home URL টিতে গেলে "Welcome to the Home Page" পেজটি দেখতে পাবেন।
Dynamic Routes তৈরি করা
Dynamic routes এমন রাউট যা ইউজারের ইনপুট বা আর্গুমেন্টের ভিত্তিতে URL পাথ তৈরি করে। এতে URL-তে ভেরিয়েবল প্যারামিটার থাকে, যেমন /users/:id যেখানে :id একটি ডায়নামিক প্যারামিটার।
Dynamic Route এর উদাহরণ
ধরা যাক, আপনি একটি ওয়েব অ্যাপ্লিকেশনে users পেজ তৈরি করতে চান, যেখানে ইউজারের id অনুযায়ী তাদের তথ্য দেখানো হবে।
ধাপ ১: config/routes.rb ফাইলে Dynamic Route যুক্ত করা
Rails.application.routes.draw do
get 'users/:id', to: 'users#show'
end
- এখানে,
/users/:idURL পাথটিusersকন্ট্রোলারেরshowঅ্যাকশনের কাছে রিডাইরেক্ট হবে, যেখানে:idভেরিয়েবল প্যারামিটার হিসেবে ব্যবহৃত হবে।
ধাপ ২: কন্ট্রোলার তৈরি করা
rails generate controller Users show
- এই কমান্ডটি
UsersControllerতৈরি করবে এবংshowঅ্যাকশন তৈরি করবে।
ধাপ ৩: app/controllers/users_controller.rb ফাইলে অ্যাকশন লেখা
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
end
- এখানে,
params[:id]ব্যবহার করে ইউজারেরidনেওয়া হচ্ছে এবং সেই অনুযায়ী ডেটাবেস থেকে ইউজারের তথ্য খোঁজা হচ্ছে।
ধাপ ৪: app/views/users/show.html.erb ফাইলে HTML কোড লেখা
<h1>User Details</h1>
<p>ID: <%= @user.id %></p>
<p>Name: <%= @user.name %></p>
<p>Email: <%= @user.email %></p>
ধাপ ৫: ডেটাবেসে ইউজার ডেটা যোগ করা
এটি করার জন্য আপনার ডেটাবেসে কিছু ইউজার তথ্য থাকতে হবে। আপনি rails console দিয়ে ইউজার তৈরি করতে পারেন:
rails console
User.create(name: "John Doe", email: "john@example.com")
রাউটটি কাজ করছে কিনা যাচাই
এখন আপনি ব্রাউজারে http://localhost:3000/users/1 URL টি পরিদর্শন করলে ইউজার ID 1 এর বিস্তারিত দেখতে পাবেন।
Static এবং Dynamic Routes এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Static Route | Dynamic Route |
|---|---|---|
| URL পাথ | নির্দিষ্ট URL | ইউজারের প্যারামিটার ব্যবহার করা হয় |
| অর্থ | কোন ভেরিয়েবল বা প্যারামিটার থাকে না | ইউজারের ইনপুট বা আর্গুমেন্ট ব্যবহার করা হয় |
| ব্যবহার | সাধারণ পেজ বা তথ্য প্রদর্শন | ইউজারের ডেটা বা ইনপুটের ভিত্তিতে পেজ রেন্ডার |
সারমর্ম
Ruby on Rails এ static এবং dynamic routes তৈরি করার মাধ্যমে আপনি ইউজারের রিকোয়েস্টকে কন্ট্রোলারের নির্দিষ্ট অ্যাকশনের কাছে রিডাইরেক্ট করতে পারেন। Static routes নির্দিষ্ট পাথের জন্য ব্যবহৃত হয়, এবং Dynamic routes ইউজারের প্যারামিটার দিয়ে রাউট তৈরি করে। এই রাউটিং সিস্টেমটি Rails অ্যাপ্লিকেশনকে আরও ইন্টারেকটিভ এবং কার্যকর করে তোলে।
Read more