- #
- A
- B
- P
- S
執行個體公開方法
_insert_callbacks(callbacks, block = nil) 連結
接收回呼名稱以及可選擇的回呼程式,將它們標準化,然後呼叫區塊並將每個回呼帶入其中。這使我們得以在使用它的多個方法中抽象其標準化。
參數
-
callbacks
- 回呼陣列,最後一個參數為可選擇的選項雜湊。 -
block
- 應該新增到回呼的程式。
區塊參數
-
name
- 要新增的回呼。 -
options
- 新增回呼時要使用的選項雜湊。
來源: 顯示 | 在 GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 120 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
- 回呼應該為這個動作以外的所有動作執行。
來源: 顯示 | 在 GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 93 def _normalize_callback_options(options) _normalize_callback_option(options, :only, :if) _normalize_callback_option(options, :except, :unless) end
after_action(names, block) 連結
在動作後附加一個回呼。有關參數詳細資料,請參閱 _insert_callbacks
。
來源: 在 GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 173
append_after_action(names, block) 連結
在動作後附加一個回呼。有關參數詳細資料,請參閱 _insert_callbacks
。
來源: 在 GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 194
append_around_action(names, block) 連結
在動作周圍附加一個回呼。有關參數詳細資料,請參閱 _insert_callbacks
。設定 before_action
、prepend_before_action
、skip_before_action
等等對應之前、之後或周圍的設定。
來源: 在 GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 223
append_before_action(names, block) 連結
於動作前附加一個回呼。有關參數詳細資料,請參閱 _insert_callbacks
。
如果回呼會呈示或重新導向,則動作不會執行。如果在該回呼之後尚排程有其他回呼要執行,則也會取消。
來源:GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 162
around_action(names, block) 連結
在動作周圍附加一個回呼。有關參數詳細資料,請參閱 _insert_callbacks
。
來源:GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 201
before_action(names, block) 連結
於動作前附加一個回呼。有關參數詳細資料,請參閱 _insert_callbacks
。
如果回呼會呈示或重新導向,則動作不會執行。如果在該回呼之後尚排程有其他回呼要執行,則也會取消。
來源:GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 132
prepend_after_action(names, block) 連結
於動作後首推一個回呼。有關參數詳細資料,請參閱 _insert_callbacks
。
來源:GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 180
prepend_around_action(names, block) 連結
在動作周圍首推一個回呼。有關參數詳細資料,請參閱 _insert_callbacks
。
來源:GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 208
prepend_before_action(names, block) 連結
於動作前首推一個回呼。有關參數詳細資料,請參閱 _insert_callbacks
。
如果回呼會呈示或重新導向,則動作不會執行。如果在該回呼之後尚排程有其他回呼要執行,則也會取消。
來源:GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 143
skip_after_action(names) 連結
略過於動作後的回呼。有關參數詳細資料,請參閱 _insert_callbacks
。
來源:GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 187
skip_around_action(names) 連結
略過於動作周圍的回呼。有關參數詳細資料,請參閱 _insert_callbacks
。
來源:GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 216
skip_before_action(names) 連結
略過於動作前的回呼。有關參數詳細資料,請參閱 _insert_callbacks
。
來源:GitHub 上
# File actionpack/lib/abstract_controller/callbacks.rb, line 155