Да, этот вопрос меня тоже очень расстраивал.
В конечном итоге я просто спрятал флэш-сообщение на сессиях # новая страница.Совсем не лучшее решение, так как иногда вы / хотите / хотите, чтобы это сообщение появилось ..
Через некоторое время я сдался, но мне интересно, если вы можете использовать этот подход , ноустановите какой-либо флаг внутри этой лямбды и установите в контроллере сессий before_filter, который будет мигать, если он присутствует.Что-то вроде ...
#routes
=> 'users#dashboard', :constraints => lambda {|r| r.env["skip_flash"] = true; r.env["warden"].authenticate? }
#sessions_controller.rb
before_filter :only=>[:new] do
flash[:notice] = nil if request.env["skip_flash"]
request.env["skip_flash"] = false
end
Я не слишком знаком с тем, как работает ограничение маршрутов и объект запроса ... но просто идея.Это отключит флэш-сообщение, только когда вы пытаетесь получить доступ к "/", а не к другим страницам ..
Я надеюсь, у кого-нибудь есть хорошее решение!