1

我正在使用通常的表格创建一个联系页面,我发现 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、sinatra 和 haml 中的联系表

使用 Pony 和 Sinatra 发送邮件

这是我第一次在网站上使用 Ruby 和 Middleman,所以我学到了很多东西——我不禁觉得我在这里错过了一些相当明显的东西。

4

0 回答 0