我知道我可以使用request.fullpath
來獲取當前請求的相對路徑(或者request.path
來不包括查詢參數(shù))。在我的情況下,如果PDF生成失敗,我想從PDF重定向到HTML,所以我想以不同的格式獲得相應(yīng)的路徑。
很明顯,我可以
request.fullpath.sub(".pdf", "")
但有更標準的方法嗎?例如,路徑可能包括.pdf
內(nèi)部的某個位置。當然,這種可能性是可以解決的,但這會使代碼復(fù)雜化。
Rails版本為6.1。
假設(shè)當前操作的URL是在
routes.rb
中指定的,那么您只需使用redirect_to format: :html
或redirect_to format: nil
將PDF請求重定向到HTML請求。此外,如果您需要該HTML URL來進行與重定向不同的操作,那么您可以使用
url_for(format: :html)
來獲取URL。而且,如果您的原始請求有一些查詢參數(shù),您可以嘗試
redirect_to request.query_parameters.merge(format: :html)