1

sinatra内のPonyGemを使用して連絡フォーム(HTMLで作成)から電子メールを送信しようとしています。ドキュメントに従っていますが、何かが不足している必要があります。

これはポニーの設定です

 get '/contact' do
  erb :contact, :layout => :layout
 end

 post '/contact' do
 require 'pony'
 Pony.mail({
:from => params[:name],
    :to => 'myemailaddress',
    :subject => params[:name] + "has contacted you via the Website",
    :body => params[:comment],
    :via => :smtp,
    :via_options => {
     :address              => 'smtp.gmail.com',
     :port                 => '587',
     :enable_starttls_auto => true,
     :user_name            => 'myemailaddress',
     :password             => 'mypassword',
     :authentication       => :plain, 
     :domain               => "localhost.localdomain" 
     }
    })
    redirect '/success' 
   end


   get('/success') do
@notification = "Thanks for your email. I'll be in touch soon."
erb :index, :layout => :layout
   end

したがって、[送信]をクリックすると、連絡先ページがメッセージなしで再表示されます

これが私の送信ボタンです

 <button type="submit" class="btn" value="send">Submit</button>

ここのどこかでトリガーがありませんか?

4

1 に答える 1

1

を実行するためのフォームが設​​定されていpostますか? ページが更新されているように見える場合は、formタグが正しく設定されていない可能性があります。また、送信するボタンinputは type のタグである必要がありますsubmit。HTML は次のようにする必要があります。

<form action="/contact" method="post">
   <!-- your form elements go here -->

   <input type="submit" value="Sign in">
</form>
于 2013-02-05T15:12:29.747 に答える