Ruby on rails 4 Rails 4:ActionMailer预览找不到类
我试图预览一封电子邮件,但遇到了一些麻烦Ruby on rails 4 Rails 4:ActionMailer预览找不到类,ruby-on-rails-4,actionmailer,preview,Ruby On Rails 4,Actionmailer,Preview,我试图预览一封电子邮件,但遇到了一些麻烦 # test/mailers/previews/food_order_preview.rb class FoodOrderPreview < ActionMailer::Preview def food_order_email @food_order = FoodOrder.first # line with error @fields = @food_order.with_values F
# test/mailers/previews/food_order_preview.rb
class FoodOrderPreview < ActionMailer::Preview
def food_order_email
@food_order = FoodOrder.first # line with error
@fields = @food_order.with_values
FoodOrder.food_order_email(order, fields)
end
end
为什么会发生这种情况?多亏了这一点,我才能够诊断出问题。创建mailer
时运行的迁移出现问题
问题的根本原因
当我创建Invite mailer时,我运行了rails g mailer Invite
rails的g-mailer-InviteMailer
因此,Invite as mailer会覆盖Invite as模型,因此
一旦将方法应用于的实例,就会创建错误
邀请模特
我们是如何修复的
一旦我们确定了问题,解决它就相当不错了
直截了当:
- 我们将邀请邮件程序的名称从Invite.rb更改为 邀请_mailer.rb
- 在新重命名的invite_mailer.rb文件中,我们
将类Invite
NoMethodError (undefined method `first' for FoodOrder:Class):
test/mailers/previews/food_order_preview.rb:6:in `food_order_email'