Ruby on rails Rails ActionMailer

Ruby on rails Rails ActionMailer,ruby-on-rails,actionmailer,helper,contact-form,autoload,Ruby On Rails,Actionmailer,Helper,Contact Form,Autoload,因此,我正试图为一位朋友建立一个简单的网站,这位朋友已经启动了他们为客户构建的android应用程序。我正在RoR中构建它,对于这种开发我是非常陌生的。我正在写联系我们的表格。我已经完成了消息模型,最近为模型生成了mailer助手。遇到此错误:无法自动加载常量MessageMailer,需要/home/dmberko11/web_development/NovayTechnologies/NovayTechnologiesWebsite/app/mailers/message_mailer.rb

因此,我正试图为一位朋友建立一个简单的网站,这位朋友已经启动了他们为客户构建的android应用程序。我正在RoR中构建它,对于这种开发我是非常陌生的。我正在写联系我们的表格。我已经完成了消息模型,最近为模型生成了mailer助手。遇到此错误:无法自动加载常量MessageMailer,需要/home/dmberko11/web_development/NovayTechnologies/NovayTechnologiesWebsite/app/mailers/message_mailer.rb来定义它

我很困惑为什么会这样。我将粘贴到目前为止的代码:

message_mailer.rb

class MessageMailer < ApplicationMailer

  # Subject can be set in your I18n file at config/locales/en.yml
  # with the following lookup:
  #
  #   en.message_mailer.contact_me.subject
  #
  def contact_me(message)
     @body = message.body

     mail to: "davidmichaelberko@gmail.com", from: message.email
  end
end
class MessageMailer
消息控制器:

class MessagesController < ApplicationController

 def create
  @message = Message.new(message_params)
  if @message.valid?
   MessageMailer.contact_me(@message).deliver_now
   redirect_to root_path, notice: "Message received"
  else render 'new'
 end
end
class messages控制器
消息模型

class Message < ApplicationRecord

  attr_accessor :name, :email, :body
  validates :name, :email, :body, presence: true 
end
类消息

再说一次,在网络开发方面,我是一个mewb,但我的这位朋友对我非常有耐心,他希望我在这个我正试图为他建立的网站上取得成功。我几年前就做过这件事,但我已经非常生疏了,必须重新学习所有东西。欢迎任何帮助!谢谢,祝您度过愉快的一天

您必须将
message\u mailer.rb
放入适当的文件夹中:

app/mailers/message\u mailer.rb


重新启动服务器。

好主意,因为常量是从父/app目录自动加载的,但是我已经按照您的建议将该文件嵌套在mailers文件夹中了。是其他原因导致了这个错误。真正的头脑scratcher@dmberko11再试一次,粘贴所有代码。您发布的错误100%是由于缺少文件或输入错误,或者文件没有定义。我这么做已经太久了,并且看到了几十次错误。其他人向我指出,我无意中在message_mailer.rb文件中定义了两次contact_me方法。当我为消息生成邮件程序时,它会自动创建该方法。无论出于何种原因,当我修改该方法时,我写了两次def contact_me(消息)行,lol.Rook MIRSE。归咎于睡眠不足。不过我还有一个问题要问,也许你能帮我解决!我正在尝试为创建帖子的表单中的文本区域初始化javascript for tinymce\u编辑器,但它不起作用。
message\u mailer.rb
中的代码是您项目中的代码吗?是吗?。似乎有两种
联系我的方法,一种在另一种内部,而且似乎缺少
结尾
?@gasc您对这两种方法的看法是正确的。我想,当我生成消息邮件程序时,它会自动拥有一个contact_me方法,但我重新定义了它,因此第二次意外地声明def contact_me(消息)。哎呀。很高兴这是个愚蠢的错误。谢谢大家的回答。我喜欢stack overflow,并希望有一天能有足够的知识做出贡献。干杯