2011-12-30 4 views
0

У меня возникли проблемы с получением подписей для работы с устройством.Как работает authenticate_user! Работа?

Итак ... это то, что получение отправил на мой знак в действии:

Started POST "/sign_in" for 127.0.0.1 at 2011-12-30 17:53:14 +0800 
    Processing by UsersController#sign_in as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"k/z12JAUDjFaLtw6X+dL5xa7ZtcLKYmxGSc6SAvaFlE=", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "remember_me"=>"0"}, "x"=>"0", "y"=>"0"} 
Completed 401 Unauthorized in 0ms 
    Processing by UsersController#new as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"k/z12JAUDjFaLtw6X+dL5xa7ZtcLKYmxGSc6SAvaFlE=", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "remember_me"=>"0"}, "x"=>"0", "y"=>"0"} 
Rendered users/new.html.haml within layouts/application (31.7ms) 
Completed 200 OK in 40ms (Views: 38.8ms | ActiveRecord: 0.9ms) 

Вот что я пытался, но не работает ...

def sign_in 
    authenticate_user! 
    if signed_in? 
    redirect_to root_path 
    else 
    redirect_to sign_in_path 
    end 
end 

Я думаю, что мне не хватает понимания того, как все это «волшебство» от разработки должно работать. Все кажется слишком абстрактным, что я чувствую себя изолированным от бизнес-логики за дизайном, что оставляет меня потерянным, потому что я не уверен, как сказать authenticate_user! читать по моим параметрам.

Так что мой инстинкт подсказывает мне проверить подлинность_исполнитель!

Но где это определено?

Я кратко ознакомился с документацией по разработке, но не смог найти этот метод.

+0

Что вы точно хотите заменить ? Возможно, вы просто хотите * добавить * что-то для входа в систему, это не та же проблема. – Cydonia7

+0

В конечном итоге я пытаюсь найти решение для управления перенаправлением контроллеров. Вот почему я это делаю. Может быть, мой подход к этому совершенно неверен? Во всяком случае, я перефразировал мой вопрос, чтобы быть более кратким. – fivetwentysix

+0

Вы пытаетесь вручную подписать кого-то вне нормального рабочего процесса? –

ответ

0

Если вы хотите использовать свои собственные перенаправления после входа/выхода из системы или редактирования профиля (если я понял, что ты имел в виду), я предлагаю использовать этот вид метода:

class ApplicationController < ActionController::Base 
    private 

    def after_sign_out_path_for(resource_or_scope) 
    root_path 
    end 

    def after_sign_in_path_for(resource_or_scope) 
    root_path 
    end 

    def after_update_path_for(resource_or_scope) 
    root_path 
    end 
end 
Смежные вопросы