2

Rails で記述されたクライアント アプリを使用して Rails API を使用しています。ユーザーが認証されていない場合は、ログイン ページを表示する必要があります。1 つの Ruby クラスのみから API 呼び出しを行う構造を作成しました。その Ruby クラスから、応答ステータスが 401 の場合、ログイン ページを表示する必要があります。ユーザーを Ruby クラスからログイン ページにリダイレクトする方法はありますか?

ここに私のクライアントコードがあります


class Client
  def execute(method, url, params)
    response = case method
               when :get
                 HTTParty.get(url, query: params)
               when :post
                 HTTParty.post(url, body: params)
               when :put
                 HTTParty.put(url, body: params)
               when :delete
                 HTTParty.delete(url, body: params)
               else
                 nil
               end
    if response.status == 401
      # should redirect to login page
    else
      # Send result to caller which will parse it and send back to the controller action who called it
    end
  end

end

4

1 に答える 1

2

カスタム例外を発生させ、それを ApplicaionController でキャッチすることで、この問題を解決しました。そこから、ログインページに簡単にリダイレクトできます。

于 2013-06-21T07:23:55.113 に答える