2015-11-03 2 views
0

У меня есть приложение, которое задает некоторые вещи в default_url_options как метод экземпляра.Devise: как я могу заставить default_url_options работать как метод экземпляра

def default_url_options(options={}) 
    added_options = { locale: I18n.locale } 
    added_options[:root] = params[:root].present? ? params[:root] : nil 
    options.merge(added_options) 
end 

devise однако работает только с default_url_options, установленным как метод класса. так как вы можете видеть, что мне нужно получить доступ к параметрам, и они недоступны в качестве метода класса.

https://github.com/plataformatec/devise/wiki/How-To:--Redirect-with-locale-after-authentication-failure

любая идея, как это исправить? заранее спасибо!

ответ

0

Я использую маршруты взломать, чтобы это заработало ...

get "https://stackoverflow.com/users/sign_in" => redirect("/en/users/sign_in") 

сделал :locale факультативной маршрутов. этот способ я могу использовать default_url_options как пример способ.

Смежные вопросы