विधि helper_method
स्पष्ट रूप से नियंत्रक में परिभाषित कुछ तरीकों को साझा करने के लिए उन्हें दृश्य के लिए उपलब्ध कराने के लिए है। यह किसी भी विधि के लिए उपयोग किया जाता है जिसे आपको नियंत्रकों और सहायकों / दृष्टिकोणों से एक्सेस करने की आवश्यकता होती है (नियंत्रकों में मानक सहायक विधियाँ उपलब्ध नहीं हैं)। उदाहरण के लिए सामान्य उपयोग का मामला:
#application_controller.rb
def current_user
@current_user ||= User.find_by_id!(session[:user_id])
end
helper_method :current_user
helper
दूसरी ओर विधि, नियंत्रक द्वारा प्रदान की विचारों के एक पूरे सहायक आयात करने के लिए है (और यह नियंत्रकों विरासत में मिला है)। इसका क्या मतलब है
# application_controller.rb
helper :all
रेल के लिए> 3.1
# application.rb
config.action_controller.include_all_helpers = true
# This is the default anyway, but worth knowing how to turn it off
सभी सहायक मॉड्यूल को सभी दृश्यों (कम से कम एप्लिकेशन कंट्रोलर से विरासत में प्राप्त सभी नियंत्रकों के लिए) उपलब्ध कराता है।
# home_controller.rb
helper UserHelper
UserHelper विधियों को होम कंट्रोलर के कार्यों के लिए विचारों को उपलब्ध कराता है। यह करने के बराबर है:
# HomeHelper
include UserHelper