2010-04-23 40 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