我对此比较陌生。我正在尝试将URL路由到表单,然后将该表单发送给联系人电子邮件。这是我得到的错误。 当我耙路线时,我发现实际上没有像send_mail这样的POST。但我不确定为什么首先没有一个。而且我不确定如何把它放进......
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
这是我的app / mailer / 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
如果有任何其他文件可以告诉我,请告诉我 提前谢谢!
答案 0 :(得分:0)
答案 1 :(得分:0)
只需在routes.rb
中添加post '/send_mail' => 'contact#send_mail'