Как работает authenticate_user!Работа? - PullRequest
0 голосов
/ 30 декабря 2011

У меня проблемы с получением входов для работы с устройством.

Итак ... вот что публикуется в моем действии:

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"=>"fivetwentysix@gmail.com", "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"=>"fivetwentysix@gmail.com", "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! читать из моих параметров.

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

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

Я кратко изучил документацию по devise, но не смог найти там определенный метод.

1 Ответ

0 голосов
/ 30 декабря 2011

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

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...