0

我为我的应用程序编写了一个友好的转发功能,但它在发布请求时失败了。场景如下:

  1. 用户尝试访问受保护的页面
  2. 应用程序存储 url 并重定向到登录页面
  3. 用户登录和应用程序重定向到存储的 url

session_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

session_controller.rb

def create
  ..
  sign_in user
  redirect_back_or root_path
  ..
end

这工作正常,直到你POST提出请求。

  1. 用户访问posts#new并提交表单
  2. 应用程序存储 url 并重定向到登录页面
  3. 用户登录并且应用程序重定向到存储的 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

知道如何解决这个问题吗?

4

0 回答 0