私は標準的なデバイスの実装を持っていますが、セッションが期限切れになった場合、他のモデルではリダイレクトされないようで、ユーザーにエラー メッセージが表示されます。
たとえば、ユーザー プロファイル ページでログインしていない場合、current_user が存在しないためエラーが表示されます。
承認するように各モデルに設定しますか。または、より良い解決策として、アプリコントローラーで設定して、アプリケーション全体で実行し、必要に応じて公開ページを設定することはできますか?
私は標準的なデバイスの実装を持っていますが、セッションが期限切れになった場合、他のモデルではリダイレクトされないようで、ユーザーにエラー メッセージが表示されます。
たとえば、ユーザー プロファイル ページでログインしていない場合、current_user が存在しないためエラーが表示されます。
承認するように各モデルに設定しますか。または、より良い解決策として、アプリコントローラーで設定して、アプリケーション全体で実行し、必要に応じて公開ページを設定することはできますか?
特定のコントローラーにユーザーがログインしているかどうかを確認させたい場合は、Deviseのauthenticate_userを使用します。働き。以下の例を参照してください
class StuffController < ApplicationController
before_filter :authenticate_user!
def index
..... more implementation
end
end
ユーザーがログインしていない場合は、ログインフォームにリダイレクトされ、ログインに成功すると必要なページにリダイレクトされます。
などの前フィルタを使用しbefore_filter :authenticate_user!
ます。これをアプリケーション コントローラーに配置します。authenticate_user!
devise ヘルパーなので、カスタム動作が必要な場合は、メソッドをオーバーロードするか、user_signed_in?
ヘルパー メソッドを使用して独自のフィルターを単純に記述できます。