繁体   English   中英

在 Rails 中获取带有参数的引用 URL

[英]Get referrer URL with parameters in Rails

我有一个带有基本 Rails 脚手架的站点,当用户删除记录时,默认操作是重定向到主页。 但是我希望它返回到用户刚刚查看的列表。 现在我正在使用request.referrer从技术上讲它正在获取推荐 URL 但不包括参数......
在我的 Rails 日志中,我可以看到“Started GET /books/book_preview?name=Hunger+Games”
request.referrer只显示“ https://xxxx/books
我也尝试过.original_url.original_fullpath但它们返回记录“/books/HungerGames”的当前页面的路径。 我还尝试了URI(request.referrer).query以至少获取参数,但引发了错误。

我想使用以下参数获取以前的路径: /books/books_preview?name=Hunger+Games

列表也是通过 JS 呈现的远程部分。 只有在突出显示它或查看 rails 日志时,您才能在浏览器 URL 栏中看到 URL。 当我使用request.inspect查看它时,它甚至没有出现在请求中。

在此先感谢您的帮助! 一整天都被困在这上面!

request.referrer

它还会为您提供带有查询参数的推荐网址。

根据此答案(& docs ),您没有从 URL 获取query string ,您需要:

request.fullpath #-> book_preview?name=Hunger+Games

--

顺便说一句,如果您将其用作列表页面,应该没问题。 但是,如果你想提取特定的book记录,你最好使用member路由:

#config/routes.rb
scope "/books" do
   resources :book_preview, only: :show, param: :name #-> url.com/books/book_preview/:name
end

这将使您能够返回该书的特定对象,从而无需破解请求路径等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM