我正在使用通常的表格创建一个联系页面,我发现 Pony 似乎符合我的需要。该站点基本上是静态的,因此是使用 Middleman 构建的,但我一直在阅读并想添加一个联系表单 Sinatra 会有所帮助。
我有我的形式;我有我的 ruby 代码,但我很难将它们组合在一起。我似乎遗漏了一些会触发 ruby 代码的东西。
/source/contact-us.html.haml 中的表格:
%form.contact{ :action => "/contact-us.html", :method => "post"}
%fieldset
%label{:for => "name"} Full name *
%input{:type => "text", :name => "name"}
%label{:for => "email"} Email addresss *
%input{:type => "text", :name => "email"}
%label{:for => "phone"} Phone *
%input{:type => "text", :name => "phone"}
%input{:type => "submit", :value => "Send", :class => "read-more"}
以及 ruby 代码(目前在 /mail.rb 中):
require 'sinatra'
require 'pony'
post '/contact-us.html' do
options = {
:to => '[my email]',
:from => params[:email],
:subject => params[:name],
:body => params[:phone]
}
Pony.mail(options)
redirect '/thankyou.html'
end
我正在本地测试并托管在我已验证运行 Ruby 的服务器上(这始终是一个好的开始;))
我在stackoverflow的其他地方看了看,发现了类似的东西,但没有什么能帮助我解决我的问题:
这是我第一次在网站上使用 Ruby 和 Middleman,所以我学到了很多东西——我不禁觉得我在这里错过了一些相当明显的东西。