Rails 5中的redirect_back
方法用于将用户重定向到之前的页面。然而,在本地开发环境中,redirect_back
的行为可能与预期不符。这是因为在本地开发环境中,Rails默认将redirect_back
重定向到localhost:3000
,而不是之前的页面。
为了解决这个问题,可以使用request.referer
来获取之前的页面,并将其作为重定向目标。下面是一个示例代码:
def redirect_back_or_default(default)
redirect_to(request.referer || default)
end
在上面的代码中,如果request.referer
存在,则将用户重定向到之前的页面,否则将用户重定向到默认页面。
Rails 5中还提供了一个fallback_location
选项,可以在redirect_back
中指定一个默认的重定向地址。例如:
redirect_back(fallback_location: root_path)
这将在没有之前页面的情况下将用户重定向到根路径。
总结起来,redirect_back
在本地的表现不符合预期,但可以通过使用request.referer
或fallback_location
选项来解决这个问题。
推荐的腾讯云相关产品:腾讯云云服务器(CVM),腾讯云负载均衡(CLB),腾讯云对象存储(COS)。
领取专属 10元无门槛券
手把手带您无忧上云