我有一个简单的投资组合网站,它只是一组静态 HTML 文件和一些 jQuery。
现在我正在尝试添加一个通过 AJAX 提交的简单联系表单,因此我需要以某种方式在服务器端处理请求。
整个过程在 VPS 上运行,许多其他 Rails 应用程序在 nginx 上运行。如果我安装了 PHP,只需添加一个简单的 PHP 文件并通过 AJAX 直接调用它就会很容易,但我真的不知道如何在 Ruby 中执行此操作。
我基本上有
server {
listen 80;
server_name example.com;
root /var/apps/example/com;
}
对于静态网站,现在我需要以某种方式说明,该文件 contact.rb
应该作为 Ruby 文件执行。
我认为为此使用 Sinatra 可能是个好主意,但我不知道如何将它绑定(bind)/路由到域中的特定位置。例如,表单可能会向 example.com/contact 提交 AJAX 请求,然后它会发送电子邮件。
问题是,我可以处理请求的所有其他 Rails 应用程序都在不同的域上运行,所以我不能使用 AJAX 直接调用其他应用程序,我需要创建一个此域上的单独脚本。
我知道我可以重写整个静态网站以在 Sinatra 上运行,这将消除这个问题,但我更喜欢用一些简单的方法来做到这一点,因为它只是为了一个简单的联系表单。
最佳答案
另一种选择是使用联系表单处理服务,例如 EmailMeForm。似乎有几个类似的系统可用。当然,它不像滚动您自己的系统那样“酷”。但它可以用于您的静态网站目的。
关于ruby - 将 Ruby 脚本添加到 AJAX 静态网站的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6627136/