アプリのわかりやすい転送機能を作成しましたが、投稿要求で失敗します。シナリオは次のとおりです。
- ユーザーが保護されたページにアクセスしようとしています
- アプリストアの URL とログインページへのリダイレクト
- ユーザーがログインし、アプリが保存された URL にリダイレクトする
sessions_helper.rb
def store_location
session[:return_to] = request.url
end
def redirect_back_or(default)
redirect_to(session[:return_to] || default)
session.delete(:return_to)
end
application_controller.rb
def require_login
unless !signed_in?
store_location
redirect_to signin_path
end
end
sessions_controller.rb
def create
..
sign_in user
redirect_back_or root_path
..
end
リクエストを投げるまで、これはうまくいきPOST
ます。
- ユーザー
posts#new
がフォームにアクセスして送信する - アプリストアの URL とログインページへのリダイレクト
- ユーザーがログインし、アプリが保存された URL にリダイレクトされますが、失敗します
AbstractController::ActionNotFound at /forums/7/posts
The action 'index' could not be found for PostsController
unless action_name = method_for_action(action_name)
raise ActionNotFound, "The action '#{action}' could not be found for #{self.class.name}"
end
この問題を回避する方法はありますか?