使用Rails中的参数获取引用URL

时间:2016-01-16 01:33:46

标签: ruby-on-rails httprequest

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

我想通过以下参数获取上一个路径:/books/books_preview?name=Hunger+Games

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

提前感谢您的帮助!一直坚持这一天!

2 个答案:

答案 0 :(得分:0)

根据query string(& this answer),您无法从网址获取docs,您需要:

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

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

答案 1 :(得分:0)

request.referrer

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