Ruby on Rails এ View হল একটি গুরুত্বপূর্ণ অংশ যা ইউজারের ইন্টারফেস (UI) তৈরি করতে ব্যবহৃত হয়। View গুলি মূলত HTML, CSS এবং JavaScript দিয়ে তৈরি হয়, এবং এগুলো ইউজারের জন্য অ্যাপ্লিকেশন এর আউটপুট প্রদর্শন করে। Rails অ্যাপ্লিকেশনটিতে, View সাধারণত কন্ট্রোলার থেকে ডেটা পায় এবং সেই ডেটাকে ইউজার-প্রত্যাখ্যানযোগ্য ফরম্যাটে প্রদর্শন করে।
View এর ভূমিকা
View হল MVC (Model-View-Controller) আর্কিটেকচারের একটি অংশ। এটি ইউজারের সাথে সরাসরি যোগাযোগ করে এবং ডেটাবেস বা ব্যবসায়িক লজিকের সাথে সম্পর্কিত না হয়ে শুধুমাত্র ডেটা প্রেজেন্টেশন এবং ইউজারের ইন্টারফেস (UI) তৈরি করে।
View এর প্রধান দায়িত্বগুলো:
- ডেটা প্রদর্শন: কন্ট্রোলার থেকে প্রাপ্ত ডেটাকে HTML ফরম্যাটে রেন্ডার করা।
- ইন্টারেক্টিভ ইন্টারফেস তৈরি: ইউজার ইনপুট এবং অন্যান্য ইন্টারঅ্যাকশন গ্রহণ করা (যেমন ফর্মের মাধ্যমে ডেটা গ্রহণ করা)।
- UI উপাদান গঠন: HTML, CSS, JavaScript এবং অন্যান্য ফ্রন্টএন্ড টুলসের মাধ্যমে অ্যাপ্লিকেশনের ইউজার ইন্টারফেস ডিজাইন করা।
Rails অ্যাপ্লিকেশন এ, View ফাইলগুলো সাধারণত .html.erb এক্সটেনশনে থাকে, যেখানে erb হল Embedded Ruby, যা Ruby কোডকে HTML এর মধ্যে এম্বেড করতে সাহায্য করে।
ERB (Embedded Ruby) কী?
ERB (Embedded Ruby) হল একটি টেমপ্লেট সিস্টেম যা Ruby কোডকে HTML ফাইলে এম্বেড করার জন্য ব্যবহৃত হয়। এটি একটি ফরম্যাট যা Ruby কোডকে HTML ট্যাগের মধ্যে অন্তর্ভুক্ত করতে সক্ষম, ফলে আপনি HTML কোডে ডাইনামিক ডেটা প্রদর্শন করতে পারেন।
ERB ফাইলগুলো .erb এক্সটেনশন দিয়ে চিহ্নিত করা হয়, এবং Rails অ্যাপ্লিকেশনগুলিতে এগুলো View হিসাবে ব্যবহৃত হয়। এর মাধ্যমে Ruby কোড এবং HTML কোড একত্রে লেখা সম্ভব, যা ডেটাকে ডাইনামিকভাবে রেন্ডার করে।
ERB এর ব্যবহার:
ERB কোড ব্লক সাধারণত <% %> এর মধ্যে লেখা হয়। এর দুটি প্রধান ফর্ম আছে:
- উৎপন্ন কোড (Outputting Code): HTML-এ ডেটা প্রিন্ট করতে
=<% %>ব্যবহার করা হয়। - Ruby কোড ব্লক: সাধারণ Ruby কোড চালাতে
<% %>ব্যবহার করা হয়।
উদাহরণ:
ধরা যাক, আমাদের একটি User মডেল আছে এবং আমরা ইউজারদের নামকে View তে প্রদর্শন করতে চাই।
<!-- app/views/users/show.html.erb -->
<h1>User Profile</h1>
<p>Name: <%= @user.name %></p>
<p>Email: <%= @user.email %></p>
এখানে:
<%= @user.name %>: এটি@user.nameএর মানকে HTML এ প্রদর্শন করবে। এই অংশে Ruby কোড রয়েছে যা ইউজারের নামকে ডেটাবেস থেকে নিয়ে এসে HTML এ ইনজেক্ট করে।<% %>: এটি শুধুমাত্র Ruby কোড চালাতে ব্যবহৃত হয়, যেমন লজিক্যাল ব্লক।
আরও উদাহরণ:
লুপ ব্যবহার করে ডেটা রেন্ডার করা:
<ul> <% @users.each do |user| %> <li><%= user.name %></li> <% end %> </ul>এই কোডটি
@usersঅ্যারে থেকে প্রত্যেকটিuserঅবজেক্টের নামকে একটি তালিকায় প্রদর্শন করবে।শর্ত দিয়ে HTML রেন্ডার করা:
<% if @user.active? %> <p>Welcome back, <%= @user.name %>!</p> <% else %> <p>Your account is inactive.</p> <% end %>এখানে, Ruby কোডের মাধ্যমে শর্ত নির্ধারণ করে, যদি
@userঅ্যাকটিভ থাকে তবে "Welcome back" বার্তা দেখানো হবে, অন্যথায় "Your account is inactive" বার্তা প্রদর্শিত হবে।
View ফাইলের কাঠামো
Rails অ্যাপ্লিকেশনে View ফাইলগুলো সাধারণত app/views/ ডিরেক্টরির মধ্যে থাকে। প্রতিটি কন্ট্রোলারের জন্য একটি সাবডিরেক্টরি থাকে যেখানে তার সংশ্লিষ্ট ভিউ ফাইলগুলো রাখা হয়।
উদাহরণ:
যদি আপনার একটি UsersController থাকে, তাহলে তার ভিউ ফাইলগুলো সাধারণত app/views/users/ ফোল্ডারে থাকবে, যেমন:
app/views/users/index.html.erb(ইউজার লিস্টের জন্য)app/views/users/show.html.erb(একটি ইউজারের প্রোফাইল দেখানোর জন্য)
সারমর্ম
Rails অ্যাপ্লিকেশনে View এর ভূমিকা হল ইউজারের ইন্টারফেস তৈরি করা এবং কন্ট্রোলার থেকে প্রাপ্ত ডেটাকে HTML ফরম্যাটে রেন্ডার করা। ERB হল একটি টেমপ্লেট সিস্টেম যা Ruby কোডকে HTML ফাইলের মধ্যে এম্বেড করতে ব্যবহৃত হয়। ERB এর মাধ্যমে আপনি Ruby কোড ব্যবহার করে ডাইনামিক কনটেন্ট প্রজেন্টেশন করতে পারেন, যেমন ডেটা রেন্ডার করা, লুপ ব্যবহার করা এবং শর্ত অনুসারে কনটেন্ট প্রদর্শন করা। Rails এর View এবং ERB ব্যবস্থাপনা UI ডিজাইন এবং ডেটা প্রেজেন্টেশনকে সহজ এবং কার্যকরী করে তোলে।
Read more