- #
- A
- B
- P
- S
实例公共方法
_insert_callbacks(callbacks, block = nil) 链接
获取回调名称和可选回调过程,对其进行规范化,然后使用每个回调调用该块。这允许我们抽象出使用它的几个方法之间的规范化。
参数
-
callbacks
- 回调数组,最后一个参数为可选选项哈希。 -
block
- 应添加到回调中的过程。
块参数
-
name
- 要添加的回调。 -
options
- 添加回调时要使用的选项哈希。
源代码: 显示 | 在 GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 119 def _insert_callbacks(callbacks, block = nil) options = callbacks.extract_options! callbacks.push(block) if block options[:filters] = callbacks _normalize_callback_options(options) options.delete(:filters) callbacks.each do |callback| yield callback, options end end
_normalize_callback_options(options) 链接
如果使用了 :only
或 :except
,则将这些选项转换为 ActiveSupport::Callbacks
的 :if
和 :unless
选项。
基本思想是 :only => :index
转换为 :if => proc {|c| c.action_name == "index" }
。
请注意,如果一起使用,:only
优先于 :if
。
only: :index, if: -> { true } # the :if option will be ignored.
请注意,如果一起使用,:if
优先于 :except
。
except: :index, if: -> { true } # the :except option will be ignored.
选项
-
only
- 仅对此操作运行回调。 -
except
- 除此操作外,对所有操作运行回调。
after_action(names, block) 链接
在操作后追加回调。有关参数详细信息,请参见 _insert_callbacks
。
来源:GitHub
# File actionpack/lib/abstract_controller/callbacks.rb, line 171
append_after_action(names, block) 链接
在操作后追加回调。有关参数详细信息,请参见 _insert_callbacks
。
来源:GitHub
# File actionpack/lib/abstract_controller/callbacks.rb, line 192
append_around_action(names, block) 链接
在操作周围追加回调。有关参数详细信息,请参见 _insert_callbacks
。
来源:GitHub
# File actionpack/lib/abstract_controller/callbacks.rb, line 220
append_before_action(names, block) 链接
在操作之前追加回调。有关参数详细信息,请参见 _insert_callbacks
。
如果回调呈现或重定向,则操作将不会运行。如果计划在该回调之后运行其他回调,则也会取消这些回调。
来源:GitHub
# File actionpack/lib/abstract_controller/callbacks.rb, line 160
around_action(names, block) 链接
在操作周围追加回调。有关参数详细信息,请参见 _insert_callbacks
。
来源:GitHub
# File actionpack/lib/abstract_controller/callbacks.rb, line 199
before_action(names, block) 链接
在操作之前追加回调。有关参数详细信息,请参见 _insert_callbacks
。
如果回调呈现或重定向,则操作将不会运行。如果计划在该回调之后运行其他回调,则也会取消这些回调。
来源:GitHub
# File actionpack/lib/abstract_controller/callbacks.rb, line 131
prepend_after_action(names, block) 链接
在操作之后添加一个回调。有关参数详细信息,请参见_insert_callbacks
。
来源:GitHub
# File actionpack/lib/abstract_controller/callbacks.rb, line 178
prepend_around_action(names, block) 链接
在操作周围添加一个回调。有关参数详细信息,请参见_insert_callbacks
。
来源:GitHub
# File actionpack/lib/abstract_controller/callbacks.rb, line 206
prepend_before_action(names, block) 链接
在操作之前添加一个回调。有关参数详细信息,请参见_insert_callbacks
。
如果回调呈现或重定向,则操作将不会运行。如果计划在该回调之后运行其他回调,则也会取消这些回调。
来源:GitHub
# File actionpack/lib/abstract_controller/callbacks.rb, line 142
skip_after_action(names) 链接
跳过操作之后的回调。有关参数详细信息,请参见_insert_callbacks
。
来源:GitHub
# File actionpack/lib/abstract_controller/callbacks.rb, line 185
skip_around_action(names) 链接
跳过操作周围的回调。有关参数详细信息,请参见_insert_callbacks
。
来源:GitHub
# File actionpack/lib/abstract_controller/callbacks.rb, line 213
skip_before_action(names) 链接
跳过操作之前的回调。有关参数详细信息,请参见_insert_callbacks
。
来源:GitHub
# File actionpack/lib/abstract_controller/callbacks.rb, line 153