跳至内容 跳至搜索
方法
H
M

实例公共方法

helper_attr(*attrs)

为控制器属性声明辅助访问器。例如,以下代码将新的namename=实例方法添加到控制器,并使它们在视图中可用:attr_accessor :name helper_attr :name

参数

  • attrs - 要转换为辅助程序的属性名称。

# File actionpack/lib/action_controller/metal/helpers.rb, line 84
def helper_attr(*attrs)
  attrs.flatten.each { |attr| helper_method(attr, "#{attr}=") }
end

helpers()

提供一个代理,用于从视图外部访问辅助方法。

请注意,代理在不同的视图上下文中呈现。这可能会导致捕获方法的行为不正确。使用capture时,请考虑使用helper代替。

# 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

modules_for_helpers(args)

覆盖modules_for_helpers以接受:all作为参数,这将加载helpers_path中的所有辅助程序。

参数

  • args - 辅助程序列表

返回

  • array - 为提供的辅助程序列表提供的模块的规范化列表。

# 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