Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails &引用;私有方法`新';呼叫消息:Class";_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails &引用;私有方法`新';呼叫消息:Class";

Ruby on rails &引用;私有方法`新';呼叫消息:Class";,ruby-on-rails,ruby,Ruby On Rails,Ruby,在我的控制器中有以下代码: class MessagesController < ApplicationController def new @message = Message.new end def create @message = Message.new message_params if @message.valid? MessageMailer.contact_me(@message).deliver_now

在我的控制器中有以下代码:

class MessagesController < ApplicationController
    def new
        @message = Message.new
    end

  def create
    @message = Message.new message_params

    if @message.valid?
      MessageMailer.contact_me(@message).deliver_now
      redirect_to new_message_url, notice: "Message received, thanks!"
    else
      render :new
    end
  end

 private

 def message_params
    params.require(:message).permit(:name, :email, :body)
  end  
end

请粘贴您的邮件模型。好的,您的邮件不是AR模型,是邮件,ActionMailer的新功能是私有的,请查看ActionMailer的正确用法。您将邮件命名为
Message
,然后尝试将其用作
MessageMailer。请与控制器中的\u me
联系。现在,类
Message
在两个位置打开(作为一个模型和一个mailer),具有不同的父类,并且具有奇怪性。修复类声明中的输入错误(将
Message
更改为
MessageMailer
,正如您显然打算命名的那样,应该修复)@simpletime非常感谢您,解决了它!!!
class Message < ApplicationMailer

  def contact_me(message)
    @body = message.body

    mail to: "EMAIL@gmail.com", from: message.email
  end
end
class Message
    include ActiveModel::Model
    attr_accessor :name, :email, :body
    validates :name, :email, :body, presence: true
end