扩展 Rails 闪光灯

Extending Rails flash

我在 app/lib/action_dispatch/flash/flash_hash.rb 文件中有此代码:

class ActionDispatch::Flash::FlashHash
  def my_method
    #...
  end
end

但是当我在控制器中调用它时,我得到 undefined method 'my_method' for ActionDispatch::Flash::FlashHash:0x007fcf8e81e510:

def index
  flash.my_method
end

为什么?有什么想法吗?
谢谢

您需要在启动时要求该文件,请尝试使用初始化程序:

# config/initializers/flash_monkeypatch.rb

require "#{Rails.root}/lib/action_dispatch/flash/flash_hash"

并重启您的应用。