我知道我可以使用request.fullpath
来获取当前请求的相对路径(或者使用request.path
来不包含查询参数)。在我的例子中,如果PDF生成失败,我想从PDF重定向到HTML,所以我想以不同的格式获得相应的路径。
显然我可以
request.fullpath.sub(".pdf", "")
但有没有更标准的方法呢例如,路径可能包括.pdf
。当然,这种可能性是可以解决的,但这会使代码复杂化。
Rails版本61.
我知道我可以使用request.fullpath
来获取当前请求的相对路径(或者使用request.path
来不包含查询参数)。在我的例子中,如果PDF生成失败,我想从PDF重定向到HTML,所以我想以不同的格式获得相应的路径。
显然我可以
request.fullpath.sub(".pdf", "")
但有没有更标准的方法呢例如,路径可能包括.pdf
。当然,这种可能性是可以解决的,但这会使代码复杂化。
Rails版本61.
1条答案
按热度按时间qxsslcnc1#
假设当前操作的URL在
routes.rb
中的某个位置指定,您可以使用redirect_to format: :html
或redirect_to format: nil
将PDF请求重定向到HTML请求。此外,如果您需要该HTML URL用于与重定向不同的用途,则可以使用
url_for(format: :html)
获取URL。如果您的原始请求有一些查询参数,您可以尝试
redirect_to request.query_parameters.merge(format: :html)
。