Ruby on rails 如果访问者来自谷歌搜索,则显示不同的视图

Ruby on rails 如果访问者来自谷歌搜索,则显示不同的视图,ruby-on-rails,ruby,http-referer,Ruby On Rails,Ruby,Http Referer,我正在尝试完成一些类似于《纽约时报》和其他新闻网站的事情,当一个访问者被谷歌推荐时,这些网站会显示完整的文章,但如果是直接访问,则只会显示预览 我相信要检查访问者是否来自谷歌,我需要检查:request.env[“HTTP\u REFERER”] 这是正确的吗?这只是“谷歌”这个名字的匹配吗?控制器中的逻辑是否如下所示: if request.env["HTTP_REFERER"].match "google" # do action/set variable etc. 是的,你说得很对。

我正在尝试完成一些类似于《纽约时报》和其他新闻网站的事情,当一个访问者被谷歌推荐时,这些网站会显示完整的文章,但如果是直接访问,则只会显示预览

我相信要检查访问者是否来自谷歌,我需要检查:
request.env[“HTTP\u REFERER”]

这是正确的吗?这只是“谷歌”这个名字的匹配吗?控制器中的逻辑是否如下所示:

if request.env["HTTP_REFERER"].match "google"
  # do action/set variable etc.

是的,你说得很对。只要通过正则表达式检查用户是否来自谷歌,并显示其他网站。示例代码:

if request.env["HTTP_REFERER"] =~ /google\.[a-z]{2,4}/
  # do the special google stuff here
  render layout: "special_google_layout"
else
  # do the regular stuff here
end
这个正则表达式检查referer中的字符串“google”,后跟一个点和2-4个小写字母