module ActionController::Helpers::ClassMethods
Открытые методы экземпляра
# File actionpack/lib/action_controller/metal/helpers.rb, line 84
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 94
def helpers
@helper_proxy ||= begin
proxy = ActionView::Base.empty
proxy.config = config.inheritable_copy
proxy.extend(_helpers)
end
end Предоставляет прокси для доступа к методам-помощникам вне представления.
Обратите внимание, что прокси выполняется в другом контексте представления. Это может привести к некорректной работе методов захвата. При использовании capture рассмотрите возможность использовать вместо этого helper.
# File actionpack/lib/action_controller/metal/helpers.rb, line 112 def modules_for_helpers(args) args += all_application_helpers if args.delete(:all) super(args) end
Переопределите modules_for_helpers, чтобы принимать :all в качестве аргумента; он загружает все помощники из helpers_path.
Parameters
-
args— список помощников
Возвращает
-
array— нормализованный список модулей для переданного списка помощников.
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.