MiddlewareStackProxy
是 Rails 中介軟體堆疊的代理,讓你可以在應用程式中設定中介軟體。它的運作原理基本上像是個指令記錄器,會儲存每個指令,以便在初始化後套用至預設中介軟體堆疊,讓你可以在 Rails 中新增、交換或移除任何中介軟體。
你可以使用 config.middleware.use
方法來新增自己的中介軟體
config.middleware.use Magical::Unicorns
這樣會將 Magical::Unicorns
中介軟體置於堆疊的結尾。如果你想在另一個中介軟體之前新增中介軟體,可以使用 insert_before
config.middleware.insert_before Rack::Head, Magical::Unicorns
也有 insert_after
,可以用來在另一個中介軟體之後插入中介軟體
config.middleware.insert_after Rack::Head, Magical::Unicorns
中介軟體還可以完全交換和替換成其他中介軟體
config.middleware.swap ActionDispatch::Flash, Magical::Unicorns
可以將中介軟體從一個位置移到另一個位置
config.middleware.move_before ActionDispatch::Flash, Magical::Unicorns
這樣會將 Magical::Unicorns
中介軟體移到 ActionDispatch::Flash
之前。也可以移動到之後
config.middleware.move_after ActionDispatch::Flash, Magical::Unicorns
最後,也可以將它們從堆疊中完全移除
config.middleware.delete ActionDispatch::Flash
方法
屬性
[R] | 刪除操作 | |
[R] | 操作 |
類別公開方法
new(operations = [], delete_operations = []) 連結
執行個體公開方法
delete(...) 連結
insert_after(...) 連結
move_after(...) 連結
move_before(...) 連結
別名又稱: move
原始碼: 顯示 | 在 GitHub 上
# File railties/lib/rails/configuration.rb, line 74 def move_before(...) @delete_operations << -> middleware { middleware.move_before(...) } end
swap(...) 連結
原始碼: 顯示 | 在 GitHub 上
# File railties/lib/rails/configuration.rb, line 62 def swap(...) @operations << -> middleware { middleware.swap(...) } end
unshift(...) 連結
原始碼: 顯示 | 在 GitHub 上
# File railties/lib/rails/configuration.rb, line 84 def unshift(...) @operations << -> middleware { middleware.unshift(...) } end
use(...) 連結
原始碼: 顯示 | 在 GitHub 上
# File railties/lib/rails/configuration.rb, line 66 def use(...) @operations << -> middleware { middleware.use(...) } end