রেলে সাহায্যকারী কি?
সাহায্যকারী হল এমন একটি পদ্ধতি যা (বেশিরভাগ) আপনার রেল ভিউতে পুনঃব্যবহারযোগ্য কোড শেয়ার করতে ব্যবহৃত হয়। রেলগুলি অন্তর্নির্মিত সহায়ক পদ্ধতির একটি সেট সহ আসে৷
এই অন্তর্নির্মিত সাহায্যকারীদের মধ্যে একটি হল time_ago_in_words
.
এখানে একটি উদাহরণ আছে :
সময়আপনি যখনই এই নির্দিষ্ট বিন্যাসে সময় প্রদর্শন করতে চান তখন এই পদ্ধতিটি সহায়ক৷
আরেকটি রেল ভিউ হেল্পার হল number_to_human
.
উদাহরণ :
number_to_human(10_000)# "10 হাজার"
আপনি যখন একটি সংখ্যা নিতে চান এবং আপনি এটি পড়ার মতো এটি প্রিন্ট করতে চান তখন এটি দুর্দান্ত, যা এটিকে আরও মানবিক মনে করে।
আপনি রুবি অন রেল ডকুমেন্টেশনে আরও সাহায্যকারী খুঁজে পেতে পারেন।
কিন্তু আপনি কি জানেন আপনি নিজের লেখা লিখতে পারেন?
আপনার নিজের সাহায্যকারী পদ্ধতি লেখা
আপনি যদি কাস্টম সাহায্যকারী পদ্ধতি লিখতে চান, সঠিক ডিরেক্টরির পথ হল app/helpers
.
আপনি একটি হেল্পার মডিউলের ভিতরে আপনার সাহায্যকারীদের লিখুন .
প্রতিটি রেল অ্যাপ্লিকেশন ডিফল্টরূপে একটি বেস হেল্পার মডিউল সহ আসে, একে বলা হয় ApplicationHelper
.
এখানে আপনি আপনার সহায়ক পদ্ধতিগুলি যোগ করতে পারেন৷৷
এই পদ্ধতিগুলি স্বয়ংক্রিয়ভাবে আপনার সমস্ত দর্শনের জন্য উপলব্ধ হয়ে যায়। পরে আপনি শিখবেন কীভাবে সেগুলি কন্ট্রোলারে ব্যবহার করতে হয় এবং কেন এটি একটি খারাপ ধারণা হতে পারে।
আপনি আপনার সমস্ত সাহায্যকারীকে ApplicationHelper
-এ লিখতে পারেন .
কিন্তু আরেকটি বিকল্প আছে...
আপনি সহায়ক মডিউল তৈরি করতে পারেন যাতে আপনি আপনার পদ্ধতিগুলিকে আরও ভালভাবে সংগঠিত করতে পারেন৷
নির্দেশ :
-
app/helpers
এর অধীনে একটি নতুন ফাইল তৈরি করুন - এর নাম দিন যেমন
user_helper.rb
- একটি নতুন মডিউল যোগ করুন যা ফাইলের নামের সাথে মেলে
উদাহরণ :
# app/helpers/user_helper.rbmodule UserHelper def format_name(user) if user.gender =="M" "Mr. #{user.name}" অন্য "Ms. #{user.name}" end endendপ্রে>এই কোডটি একজন ব্যক্তিকে তাদের লিঙ্গের উপর ভিত্তি করে আনুষ্ঠানিকভাবে সম্বোধন করতে ব্যবহার করা যেতে পারে।
প্রধান সুবিধা?
যখন আপনার প্রয়োজন হবে এবং যখন আপনার কোড পরিবর্তন করতে হবে তখন আপনাকে এই যুক্তিটিকে অন্য দৃষ্টিভঙ্গিতে পুনরাবৃত্তি করতে হবে না… এটি শুধুমাত্র একটি জায়গায় পরিবর্তন করতে হবে।
খুব সুন্দর!
আপনার নতুন হেল্পার মডিউল ব্যবহার করা
আপনি আপনার মতামত আপনার সহায়ক পদ্ধতি ব্যবহার করতে পারেন.
এরকম :
<%=format_name(@user) %>সহজ, তাই না?
আপনি যদি ভিউয়ের বাইরে সাহায্যকারী ব্যবহার করতে চান তবে আপনার অন্য কিছুর প্রয়োজন হবে।
নিয়ন্ত্রকদের থেকে সাহায্যকারী কিভাবে ব্যবহার করবেন
এটা সম্ভব, যদিও খুব সাধারণ নয়, কন্ট্রোলার অ্যাকশন থেকে সাহায্যকারী পদ্ধতি ব্যবহার করা।
Rails 5 এর আগে, আপনাকে সাহায্যকারী মডিউল অন্তর্ভুক্ত করতে হয়েছিল।
নতুন সংস্করণে, আপনি আপনার কন্ট্রোলারে
helpers
সহ সাহায্যকারী ব্যবহার করতে পারেন (বহুবচন) বস্তু।এরকম :
class UsersController def index helpers.time_ago_in_words(Time.now) endendএইভাবে আপনি আপনার কন্ট্রোলার থেকে সাহায্যকারী ব্যবহার করতে পারেন। তবে এটি করার আগে দুবার চিন্তা করুন কারণ এটি একটি ডিজাইনের সমস্যা হতে পারে৷
পরিবর্তে একটি সাধারণ রুবি বস্তু ব্যবহার করার কথা বিবেচনা করুন৷
রেলস কনসোলের সাথে মজা করুন
আমি পদ্ধতিগুলি চেষ্টা করে দেখতে এবং জিনিসগুলির সাথে খেলা করতে Rails কনসোল ব্যবহার করতে পছন্দ করি (আপনার রেল অ্যাপ লোড করার সাথে irb)৷
সহায়তা অন্তর্ভুক্ত!
আপনি
helper.method_name
দিয়ে কনসোল থেকে সাহায্যকারী ব্যবহার করতে পারেন ."সহায়ক" এর একক রূপটি লক্ষ্য করুন যাতে আপনি একটি ত্রুটি বার্তা না পান। এবং মনে রাখবেন যে কনসোল স্বয়ংক্রিয়ভাবে কোড পরিবর্তনগুলি পুনরায় লোড করে না।
রেল ভিউ হেল্পার লেখার জন্য সর্বোত্তম অনুশীলন
আপনার কখন একটি সহায়ক পদ্ধতি তৈরি করা উচিত?
যখনই আপনার যুক্তি থাকে যা HTML এর বিট তৈরি করে।
সাধারণত, এটি দুটি বিভাগের একটিতে পড়ে, একটি হল স্ট্রিং বিন্যাস এবং অন্যটি শর্তসাপেক্ষ পৃষ্ঠা উপাদান৷
আরেকটি টিপ…
আপনি যদি ভাল সাহায্যকারী লিখতে চান তাহলে কোনো ইনস্ট্যান্স ভেরিয়েবল ব্যবহার করবেন না, সেগুলি আপনার বর্তমান ভিউতে পাওয়া যেতে পারে, কিন্তু সেগুলি অন্য ভিউতে নাও থাকতে পারে৷
অনুপস্থিত ভেরিয়েবলের কারণে এটি একটি ত্রুটির কারণ হবে।
সমাধান?
পরামিতি ব্যবহার করুন, যাতে আপনার পদ্ধতির যে কোনো ডেটা স্পষ্ট ও স্পষ্ট হয় .
# ভুল ওয়েডেফ খায়_স্বাস্থ্যকর @fruit.eatend# এর পরিবর্তে এটি করুনdef_healthy(fruit) fruit.eatend.আমার চূড়ান্ত পরামর্শ হল আপনার সাহায্যকারীদের মডিউলগুলিতে ভাগ করা, যেখানে প্রতিটি মডিউলের নাম স্পষ্টভাবে বর্ণনা করে যে এটিতে কী ধরনের পদ্ধতি রয়েছে৷
তবে :
এটি সদৃশ পদ্ধতির নামের সাথে সাহায্য করবে না, যার ফলে ত্রুটি এবং বিভ্রান্তি হতে পারে।
আপনার সমস্ত সাহায্যকারীদের অনন্য নাম থাকা উচিত .
একটি বিকল্প হিসাবে, উপস্থাপক বস্তু ব্যবহার করার চেষ্টা করুন, যেমন এই নির্দেশিকায় ব্যাখ্যা করা হয়েছে।
সারাংশ
আপনি রেলের সাহায্যকারীদের সম্পর্কে শিখেছেন! ইউটিলিটি পদ্ধতির একটি সেট যা আপনি আপনার দৃষ্টিভঙ্গিতে জটিল যুক্তি বিন্যাস এবং পরিচালনার জন্য ব্যবহার করতে পারেন।
এখন আপনার নিজের সাহায্যকারী তৈরি করার সময়।
পড়ার জন্য ধন্যবাদ 🙂