我对此比较陌生。我正在尝试将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'