lge*_*ard 2 ruby-on-rails mailer active-attr
我无法弄清楚这个问题,即使它看起来并不复杂......
我想制作一个表单来在我的rails应用程序中发送电子邮件,但这个不起作用.我收到以下错误:
TypeError in MessagesController#create:
#<Message content: "test", email: "test@test.fr", name: "test"> is not a symbol
发生错误: app/controllers/messages_controller.rb:10:in 'create'
我是messages_controller:
class MessagesController < ApplicationController
def new
@message = Message.new
end
def create
@message = Message.new(params[:message])
if @message.valid?
Messenger.send(@message).deliver
redirect_to root_url, notice: "Message sent! Thank you for contacting us."
else
render "new"
end
end
end
Run Code Online (Sandbox Code Playgroud)
形式new.html.erb:
<%= form_for @message do |f| %>
<%= f.text_field :name %>
<%= f.text_field :email %>
<%= f.text_area :content, :rows => 5 %>
<%= f.submit "Send Message" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)Message使用ActiveAttr以下构建的模型:
class Message
include ActiveAttr::Model
attribute :name
attribute :email
attribute :content
end
Run Code Online (Sandbox Code Playgroud)我的Messenger邮件:
class Messenger < ActionMailer::Base
default :from => "test@test.com"
def send(message)
mail(:to => "test@test.com", :subject => "test")
end
end
Run Code Online (Sandbox Code Playgroud)谢谢您的帮助!
| 归档时间: |
|
| 查看次数: |
3935 次 |
| 最近记录: |