获取网站表单帖子的提交自

时间:2016-05-10 16:36:38

标签: ruby-on-rails http

我正在处理通过其他网站的表单接收信息的rails应用程序。我希望能够检测表单提交的站点,因此我可以设置验证以仅处理来自test.com/contact的消息。

在我的routes.rb中:

  match '/example', to: 'controller#action1', via: [:get]

另一个网站上的表单(例如其test.com/contact)使用AJAX将数据发送到我的railsapp.com/example

在我的控制器中我有

  def action1
    puts "Hello world"
    stuff = params.keys    
    puts "****INFO*************#{stuff}*******************"   
    render nothing: true
  end

当我测试它并查看控制台输出时,我无法在显示get请求来源的参数中找到任何内容:

Parameters: {"callback"=>"jQuery545332_1462068", "name"=>"something", "email"=>"something@something.com", "message"=>"something", "_subject"=>"Message something", "_"=>"1462891691071"}
Hello world
****INFO*************["callback", "name", "email", "message", "_subject", "_", "controller", "action"]*******************

我如何看到邮件来自哪个网站?

1 个答案:

答案 0 :(得分:1)

在您的控制器中,您可以访问request个对象。

这个属性的名称为referrer

request.referrer会为您提供请求来自的网站。