0

私はこれを行うことを検討しています -

任意の URL (特に許可しないものを除く) は、サインインせずに直接アクセスできますが、ページ上のいずれかのリンクをクリックすると、サインアップ ページにリダイレクトされます。

私はそれを行ういくつかの方法を考えていますが、どちらもデバイスで動作するほど柔軟ではありません

  1. 私が毎回使用する新しいlink_to_not_registeredヘルパーを作成しlink_to、ユーザーがログインしているかどうかを確認します

  2. ユーザーがログインしているかどうかを確認する before_filter を作成します。ページに直接アクセスするときではなく、リンクするときにのみフィルターを作成する方法がわからないため、これは少し問題があります。

  3. ユーザーがログインしているかどうかをテストするための外部フラグを用意し、それに応じてページを変更します。

どちらの方法でも、サインイン/サインアップ後にユーザーをリダイレクトするのに役立ちません (フィルターが複雑になりすぎる前にサインアップするための新しいヘルパー リンク、フラグが単純すぎる)

Is there a way to create a functionality of direct access to show actions while clicking on links requires login?
4

1 に答える 1

0

最善のアプローチは before_filter だと思います。request.referrer で前のページを確認できるため、アプリ内のページであれば、ユーザーをサインイン パスにリダイレクトします。

def to_signin
    redirect_to singin_path if request.referrer["http://myapp.com"]
end
于 2013-07-11T10:27:46.177 に答える