代码之家  ›  专栏  ›  技术社区  ›  klynch

Rails 3 Flash上载程序

  •  2
  • klynch  · 技术社区  · 16 年前

    我正在尝试使用Rails 3进行上传。但是,我不能用正确的参数插入中间件。

    这是双向轨道:

    ActionController::Dispatcher.middleware.insert_before(
      ActionController::Session::CookieStore,
      FlashSessionCookieMiddleware,
      ActionController::Base.session_options[:key]
    ) 
    

    到目前为止,这就是我对Rails 3的看法:

    Rails.application.config.middleware.insert_before(
      Rails.application.config.session_store, 
      FlashSessionCookieMiddleware,
      Rails.application.config.session_options[:key]
    )
    

    然而,这给出了:

    kevin$hephaestus:$exposure [1035 | 0]% rake middleware                                                        
    (in /Users/kevin/Projects/exposure)
    rake aborted!
    protected method `session_options' called for #<Rails::Application::Configuration:0x101eb28d0>
    
    (See full trace by running task with --trace)
    zsh: exit 1     rake middleware
    

    当我发表评论时 session_options 参数,已成功插入中间件,但它无法执行它应该执行的操作。

    有什么建议吗?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Damian Galarza    16 年前

    我意识到这篇文章已经发表4个月了,但是我在解决这个问题时遇到了一些问题,在Rails 3上添加了中间件。以下是在Rails 3中完成此操作的正确方法:

    Rails.application.config.middleware.insert_before(
      ActionDispatch::Session::CookieStore,
      FlashSessionCookieMiddleware,
      Rails.application.config.session_options[:key]
    )
    

    http://gist.github.com/546431