Ruby on rails 未初始化常量ApplicationMailer
我试图通过以下方式使联系人表单正常工作,但我一直出现错误:Ruby on rails 未初始化常量ApplicationMailer,ruby-on-rails,ruby,model-view-controller,Ruby On Rails,Ruby,Model View Controller,我试图通过以下方式使联系人表单正常工作,但我一直出现错误:提交表单后未初始化常量ApplicationMailer 记录道提供以下信息: app/mailers/message_mailer.rb:1:in <top (required)>' app/controllers/messages_controller.rb:9:in create' actionpack (4.2.5) lib/action_controller/metal/implicit_render.rb:4:in
提交表单后未初始化常量ApplicationMailer
记录道提供以下信息:
app/mailers/message_mailer.rb:1:in <top (required)>'
app/controllers/messages_controller.rb:9:in create'
actionpack (4.2.5) lib/action_controller/metal/implicit_render.rb:4:in send_action'
actionpack (4.2.5) lib/abstract_controller/base.rb:198:in process_action'
actionpack (4.2.5) lib/action_controller/metal/rendering.rb:10:in process_action'
actionpack (4.2.5) lib/abstract_controller/callbacks.rb:20:in block in process_action'
activesupport (4.2.5) lib/active_support/callbacks.rb:117:in call'
activesupport (4.2.5) lib/active_support/callbacks.rb:117:in call'
activesupport (4.2.5) lib/active_support/callbacks.rb:555:in block (2 levels) in compile'
activesupport (4.2.5) lib/active_support/callbacks.rb:505:in call'
activesupport (4.2.5) lib/active_support/callbacks.rb:505:in call'
activesupport (4.2.5) lib/active_support/callbacks.rb:92:in __run_callbacks__'
activesupport (4.2.5) lib/active_support/callbacks.rb:778:in _run_process_action_callbacks'`
mailers/message\u mailer.rb
class MessagesController < ApplicationController
def new
@message = Message.new
end
def create
@message = Message.new(message_params)
if @message.valid?
MessageMailer.message_me(@message).deliver_now
redirect_to new_message_path, notice: "Thankyou for your message."
else
render :new
end
end
private
def message_params
params.require(:message).permit(:name, :email, :subject, :content)
end
end
class Message
include ActiveModel::Model
attr_accessor :name, :email, :subject, :content
validates :name, :email, :subject, :content, presence: true
end
class MessageMailer < ApplicationMailer
default :to => "jd.levarato@gmail.com"
def message_me(msg)
@msg = msg
mail from: @msg.email, subject: @msg.subject, body: @msg.content
end
end
class MessageMailer“jd。levarato@gmail.com"
def消息_me(msg)
@味精=味精
邮件发件人:@msg.email,主题:@msg.subject,正文:@msg.content
结束
结束
您必须创建继承自ActionMailer::Base的ApplicationMailer类
应用程序_mailer.rb
class ApplicationMailer < ActionMailer::Base
default from: 'from@exmaple.com'
layout 'mailer'
end
class ApplicationMailer
或者您可以简单地将ActionMailer::Base继承到MessageMailer
class MessageMailer < ActionMailer::Base
default :to => "jd.levarato@gmail.com"
def message_me(msg)
@msg = msg
mail from: @msg.email, subject: @msg.subject, body: @msg.content
end
end
class MessageMailer“jd。levarato@gmail.com"
def消息_me(msg)
@味精=味精
邮件发件人:@msg.email,主题:@msg.subject,正文:@msg.content
结束
结束
您必须创建继承自ActionMailer::Base的ApplicationMailer类
应用程序_mailer.rb
class ApplicationMailer < ActionMailer::Base
default from: 'from@exmaple.com'
layout 'mailer'
end
class ApplicationMailer
或者您可以简单地将ActionMailer::Base继承到MessageMailer
class MessageMailer < ActionMailer::Base
default :to => "jd.levarato@gmail.com"
def message_me(msg)
@msg = msg
mail from: @msg.email, subject: @msg.subject, body: @msg.content
end
end
class MessageMailer“jd。levarato@gmail.com"
def消息_me(msg)
@味精=味精
邮件发件人:@msg.email,主题:@msg.subject,正文:@msg.content
结束
结束
你们有app/mailers/application\u mailer.rb吗?生成邮件后是否尝试重新启动服务器?是否有app/mailers/application\u mailer.rb?您是否在生成邮件后尝试重新启动服务器?