2010-04-23 54 views
2

我想让Uploadify使用Rails 3.但是,我无法插入带有正确参数的中间件。Rails 3 Flash上​​传器

这是Rails 2路:

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

我知道这个帖子是4个月大,但我遇到了与解决此问题的一些问题,增加on 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