Spec-Zone.ru › Ruby on Rails 6.1

модуль ActionController::Helpers::ClassMethods

Публичные методы экземпляра

all_helpers_from_path(path) Показать исходный код
# File actionpack/lib/action_controller/metal/helpers.rb, line 111
def all_helpers_from_path(path)
  helpers = Array(path).flat_map do |_path|
    names = Dir["#{_path}/**/*_helper.rb"].map { |file| file[_path.to_s.size + 1..-"_helper.rb".size - 1] }
    names.sort!
  end
  helpers.uniq!
  helpers
end

Возвращает список имён помощников в заданном пути.

ActionController::Base.all_helpers_from_path 'app/helpers'
# => ["application", "chart", "rubygems"]
helper_attr(*attrs) Показать исходный код
# File actionpack/lib/action_controller/metal/helpers.rb, line 76
def helper_attr(*attrs)
  attrs.flatten.each { |attr| helper_method(attr, "#{attr}=") }
end

Объявляет вспомогательные методы доступа к атрибутам контроллера. Например, следующее добавляет новые name и name= методы экземпляра в контроллер и делает их доступными для представления:

attr_accessor :name
helper_attr :name

Parameters

  • attrs - Имена атрибутов, которые необходимо преобразовать в вспомогательные методы.

helpers() Показать исходный код
# File actionpack/lib/action_controller/metal/helpers.rb, line 86
def helpers
  @helper_proxy ||= begin
    proxy = ActionView::Base.empty
    proxy.config = config.inheritable_copy
    proxy.extend(_helpers)
  end
end

Предоставляет прокси для доступа к методам помощников извне представления.

Обратите внимание, что прокси отображается в контексте другого представления. Это может привести к неправильному поведению с методами захвата. Рассмотрите использование helper вместо этого при использовании capture.

modules_for_helpers(args) Показать исходный код
# File actionpack/lib/action_controller/metal/helpers.rb, line 102
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–2020 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API