Methods
Instance Public methods
all_helpers_from_path(path)
Returns a list of helper names in a given path.
ActionController::Base.all_helpers_from_path 'app/helpers'
# => ["application", "chart", "rubygems"]
📝 Source code
# 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
🔎 See on GitHub
helper_attr(*attrs)
Declares helper accessors for controller attributes. For example, the following adds new name
and name=
instance methods to a controller and makes them available to the view:
attr_accessor :name
helper_attr :name
Parameters
-
attrs
- Names of attributes to be converted into helpers.
📝 Source code
# File actionpack/lib/action_controller/metal/helpers.rb, line 71
def helper_attr(*attrs)
attrs.flatten.each { |attr| helper_method(attr, "#{attr}=") }
end
🔎 See on GitHub
helpers()
Provides a proxy to access helper methods from outside the view.
📝 Source code
# 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
🔎 See on GitHub
modules_for_helpers(args)
Overwrite modules_for_helpers
to accept :all as argument, which loads all helpers in helpers_path.
Parameters
-
args
- A list of helpers
Returns
-
array
- A normalized list of modules for the list of helpers provided.
📝 Source code
# 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
🔎 See on GitHub