我正在处理通过其他网站的表单接收信息的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"]*******************
我如何看到邮件来自哪个网站?
答案 0 :(得分:1)
在您的控制器中,您可以访问request
个对象。
这个属性的名称为referrer
。
request.referrer
会为您提供请求来自的网站。