我有一个简单组合网站,它只是一组静态的HTML文件和一些jQuery.。
现在,我正在尝试添加一个通过AJAX提交的简单的联系人表单,所以我需要在服务器端以某种方式处理请求。
整个过程是在VPS上运行,在nginx上与许多其他Rails应用程序一起运行。如果我安装了PHP,只需添加一个简单的PHP文件并通过AJAX直接调用它就很简单了,但我不知道如何在Ruby中这样做。
我基本上
server {
listen 80;
server_name example.com;
root /var/apps/example/com;
}
对于静态网站,现在我需要说的是,这个文件contact.rb
应该作为一个Ruby执行。
--我认为使用Sinatra来实现这一点是个好主意,但我不知道如何绑定/路由到域上的特定位置。例如,表单可能将AJAX请求提交给example.com/contact,,然后只发送电子邮件.。
问题是,我可以处理请求的所有其他Rails应用程序都运行在不同的域上,所以我不能直接对其他应用程序使用AJAX调用,我需要在这个域上创建一个单独的脚本。
我知道我可以重写整个静态网站,在Sinatra上运行,这可以消除这个问题,但是我更愿意用一些简单的方法来做,因为这只是为了一个简单的联系人形式。
发布于 2011-07-08 17:40:48
另一种选择是使用像EmailMeForm这样的联系人表单处理服务。似乎有几个类似的系统可用。当然,这并不像滚动你自己的系统那么“酷”。但它可以为你的静态网站的目的工作。
http://www.emailmeform.com/
发布于 2012-10-31 13:01:00
在apache httpd.conf中:
AddHandler cgi-脚本.rb
选项ExecCGI
#!/usr/bin/env ruby
# in test.rb
require 'cgi'
puts "Content-Type: text/html \n\n" #wichtig
params = CGI.new
query = params['q'] #simple as that!
$stderr.puts "Remote Addr: #{params.remote_addr}"
发布于 2011-07-08 17:34:27
使用sinatra并了解如何定义路线。这正是你要找的。
https://stackoverflow.com/questions/6627136
复制相似问题