gpt4 book ai didi

ruby-on-rails - TestMailer 的参数数量错误

转载 作者:太空宇宙 更新时间:2023-11-03 16:40:16 24 4
gpt4 key购买 nike

我在发送电子邮件时遇到了一个奇怪的问题。我收到此异常:

ArgumentError (wrong number of arguments (1 for 0)):
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/base.rb:642:in `initialize'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/base.rb:642:in `new'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/base.rb:642:in `create'
/usr/lib/ruby/gems/1.8/gems/ar_mailer-1.3.1/lib/action_mailer/ar_mailer.rb:92:in `perform_delivery_activerecord'
/usr/lib/ruby/gems/1.8/gems/ar_mailer-1.3.1/lib/action_mailer/ar_mailer.rb:91:in `each'
/usr/lib/ruby/gems/1.8/gems/ar_mailer-1.3.1/lib/action_mailer/ar_mailer.rb:91:in `perform_delivery_activerecord'
/usr/lib/ruby/gems/1.8/gems/actionmailer-2.1.1/lib/action_mailer/base.rb:508:in `__send__'
/usr/lib/ruby/gems/1.8/gems/actionmailer-2.1.1/lib/action_mailer/base.rb:508:in `deliver!'
/usr/lib/ruby/gems/1.8/gems/actionmailer-2.1.1/lib/action_mailer/base.rb:383:in `method_missing'
/app/controllers/web_reservations_controller.rb:29:in `test_email'

在我的 web_reservations_controller 中,我有一个简单的方法调用

TestMailer.deliver_send_email

我的 TesMailer 是这样的:

class TestMailer < ActionMailer::ARMailer
def send_email
@recipients = "xxx@example.com"
@from = "xxx@example.com"
@subject = "TEST MAIL SUBJECT"
@body = "<br>TEST MAIL MESSAGE"
@content_type = "text/html"
end
end

你有什么想法吗?

谢谢!罗伯托

最佳答案

问题出在 ar_mailer 用来存储消息的模型上。您可以在回溯中看到异常来自 ActiveRecord::Base.create 调用初始化时。通常 ActiveRecord 构造函数接受一个参数,但在这种情况下,您的模型似乎没有。 ar_mailer 应该使用称为电子邮件的模型。你的 app/models 目录中有这个类吗?如果是这样,初始化是否会覆盖任何内容?如果您要覆盖初始化,请务必为其提供参数并调用 super。

class Email < ActiveRecord::Base
def initialize(attributes)
super
# whatever you want to do
end
end

关于ruby-on-rails - TestMailer 的参数数量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/132449/

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