devise и current_user - PullRequest
       19

devise и current_user

0 голосов
/ 17 августа 2011

У меня вопрос по поводу системы разработки.

мой последний ruby-проект был выполнен с помощью nifty: authnentication. С отличным, я могу управлять сессией для current_user и другой информации из "controller_authentication.rb". Но теперь я хочу добавить новую информацию current_ *.

Я хочу знать, где я могу найти метод current_user? где это определено?

с изящностью я использовал что-то вроде

@current_company ||= Company.find(session[:company_id]) if session[:company_id]

спасибо.

Ответы [ 2 ]

2 голосов
/ 29 июля 2012

current_user определяется динамически в Devise. Так как ваша пользовательская модель может фактически быть другой моделью, метод использует имя вашей модели для отображения, когда он определяет вспомогательный метод current_whwhat:

def current_#{mapping}
    @current_#{mapping} ||= warden.authenticate(:scope => :#{mapping})
end

https://github.com/plataformatec/devise/blob/master/lib/devise/controllers/helpers.rb#L123

1 голос
/ 17 августа 2011

current_user определяется как помощник в исходном коде устройства.Когда вы устанавливаете devise в ваш проект, он тоже активируется.

...