Ruby on Rails 5.2 - ActionController::Helpers::ClassMethods

मॉड्यूल एक्शनकंट्रोलर :: हेल्पर्स :: क्लासमैथोड्स




ruby

मॉड्यूल एक्शनकंट्रोलर :: हेल्पर्स :: क्लासमैथोड्स

सार्वजनिक प्रवृत्ति के तरीके

all_helpers_from_path (पथ) स्रोत दिखाएं
# File actionpack/lib/action_controller/metal/helpers.rb, line 101
def all_helpers_from_path(path)
  helpers = Array(path).flat_map do |_path|
    extract = /^#{Regexp.quote(_path.to_s)}\/?(.*)_helper.rb$/
    names = Dir["#{_path}/**/*_helper.rb"].map { |file| file.sub(extract, '\1'.freeze) }
    names.sort!
  end
  helpers.uniq!
  helpers
end

किसी दिए गए पथ में सहायक नामों की सूची देता है।

ActionController::Base.all_helpers_from_path 'app/helpers'
# => ["application", "chart", "rubygems"]
# File actionpack/lib/action_controller/metal/helpers.rb, line 71
def helper_attr(*attrs)
  attrs.flatten.each { |attr| helper_method(attr, "#{attr}=") }
end

नियंत्रक विशेषताओं के लिए सहायक सहायक की घोषणा करता है। उदाहरण के लिए, निम्न एक नियंत्रक के लिए नया name और name= आवृत्ति विधियाँ जोड़ता है और उन्हें दृश्य के लिए उपलब्ध कराता है:

attr_accessor :name
helper_attr :name

Parameters

  • attrs - विशेषताओं के नाम सहायकों में परिवर्तित किए जाएं।

# File actionpack/lib/action_controller/metal/helpers.rb, line 76
def helpers
  @helper_proxy ||= begin
    proxy = ActionView::Base.new
    proxy.config = config.inheritable_copy
    proxy.extend(_helpers)
  end
end

दृश्य के बाहर से सहायक विधियों तक पहुँचने के लिए एक प्रॉक्सी प्रदान करता है।

# File actionpack/lib/action_controller/metal/helpers.rb, line 92
def modules_for_helpers(args)
  args += all_application_helpers if args.delete(:all)
  super(args)
end

#modules_for_helpers को स्वीकार करने के लिए अधिलेखित करें: सभी तर्क के रूप में, जो helpers_path में सभी सहायक को लोड करता है।

Parameters

  • args - सहायकों की एक सूची

रिटर्न

  • array - प्रदान की गई सहायकों की सूची के लिए मॉड्यूल की एक सामान्यीकृत सूची।

सुपरक्लास विधि कहता है