2

カスタムセッションコントローラーで、ユーザーが初めてログインしたことを確認するにはどうすればよいですか。セッションを作成しwelcome#index、初めての場合はにリダイレクトできるようにしたいのですが、それ以外の場合はにリダイレクトされroot_urlます。

私が持っているコードは次のとおりです

class MysessionsController < Devise::SessionsController
  def create
    self.resource = warden.authenticate!(auth_options)
    set_flash_message(:notice, :signed_in) if is_navigational_format?
    sign_in(resource_name, resource)
    respond_with resource, :location => after_sign_in_path_for(resource)    
  end
  protected
  def after_sign_up_path_for(resource)
    "http://google.com"

  end 
end

自分が望むものにカスタマイズafter_sign_up_path_for(resource)する必要があることはわかっていますが、ユーザーが以前にサインインしたかどうかをデバイスで判断する方法がわかりません。

4

1 に答える 1

10

:sign_in_countあなたは列でこれを行うことができるはずです。これが0の場合、ユーザーが以前にサインインしたことがないことを意味します

例として

redirect_to ((current_user.sign_in_count == 0) ? path1 : path2 ) 
于 2013-02-07T04:57:02.363 に答える