联系我们表格与 Rails 4 的 ActionMailer 路由错误



我对此比较陌生。我正在尝试将URL路由到表单,然后该表单以发送联系人电子邮件。这是我遇到的错误。当我耙起路线时,我看到实际上没有这样的 POST for send_mail。但我不确定为什么首先没有。而且我不知道如何放一个...

Routing Error
No route matches [POST] "/send_mail"
Rails.root: /home/nadia/blog

这是我contact_controller:

1 class ContactController < ApplicationController
2   def new
3   end
4
5   def send_mail
6     name = params[:name]
7     email = params[:email]
8     message = params [:message]
9     ContactUs.contact_email(name, email, message).deliver
10     redirect_to contact_path, notice: 'Message Sent'
11   end

这是我的应用程序/邮件/contact_us.rb

1 class ContactUs < ActionMailer::Base
2   default to: "my@email.com"
3   default from: "my@email.com"
4
5   def contact_email (name, email, message)
6     @name = name
7     @email = email
8     @message = message
9
10     mail(from: name, subject: 'Contact')
11   end
12 end
13

如果还有其他文件可以向您展示,请告诉我提前谢谢你!

将其添加到您的 routes.rb

post '/send_mail' => 'contact#send_mail'

您应该阅读 Rails 路由指南以获取更多信息

只需将其添加到routes.rb

post '/send_mail' => 'contact#send_mail'

最新更新