gpt4 book ai didi

ruby-on-rails - TypeError : #<. ..> 不是符号

转载 作者:行者123 更新时间:2023-12-02 07:02:40 26 4
gpt4 key购买 nike

我无法弄清楚这个问题,即使它看起来并不复杂......

我想在我的 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'

1.这是我的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
  1. 表格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 %>
  2. Message使用 ActiveAttr 构建的模型:

    class Message
    include ActiveAttr::Model

    attribute :name
    attribute :email
    attribute :content
    end
  3. 我的Messenger邮寄者:

    class Messenger < ActionMailer::Base
    default :from => "test@test.com"

    def send(message)
    mail(:to => "test@test.com", :subject => "test")
    end

    end

感谢您的帮助!

最佳答案

send 替换为不同的方法名称,因为它与 ruby​​ 中定义的方法名称冲突。

http://ruby-doc.org/core-2.0/Object.html#method-i-send

关于ruby-on-rails - TypeError : #<. ..> 不是符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17716775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com