質問
私はちょうどこのの正確
次authlogicで動作するように私のアプリの設定を行ってしまいました開始前に、私はすでに基本的なCRUD機能を備えた製品のカタログを作成していた。
今、私は唯一の製品カタログをしたいユーザーはalreadにログインしている場合..づけしなりそう、彼の場合は基本的に、ユーザーがそれにログインしていない場合はlocalhost、その後、..ログインページに移動する必要があります3000製品カタログに彼を取る必要があります....本当に混乱mは... Iいけないでもログアウトすることに何をすべきか知っている...
その代わり、今、ログインしてlocalhostに行くされている:私をリダイレクト3000 ます。http:// localhostを:3000 /アカウント
助けてください。
私は私に記録されている間、私は私の製品カタログに行けば、
ページF上にこのメッセージを受け取ることにも気づきました「あなたはこれにアクセスするためにログアウトする必要があります ページ "
解決
ナチョは、私はあなたが http://railscasts.com/episodes/160-authlogic <見てお勧めしましょう/>
これは、すべてのご質問にお答えし、より多くの必要があります。
私の頭の上オフ...
あなたがいない既に持っている場合は、あなたのルートを設定して起動します:
map.login 'login', :controller => 'user_sessions', :action => 'new'
map.logout 'ログアウト'、:コントローラ=> 'user_sessions':アクション=>
'破棄する'次に、アプリケーションコントローラで次の操作を行います。
before_filter :authenticate, :except => [:login, :logout, :destroy, :index, :new]
private #--------------------
def authenticate
unless current_user
flash[:notice] = "You must be loged in first"
redirect_to(login_url)
return false
end
end
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
end
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.record
end
これは、上記の課題を解決するためにあなたを装備する必要があります。人がログインしていない場合は、ログインページにリダイレクトされます。また、単にLOGOUT_URLを指すログアウトする(ローカルホスト:3000 /ログアウト)