ruby-on-rails – 使用装饰器,(rails)无法推断ActiveRecord :: Base的装饰器

我在使用装饰器时遇到了麻烦.我之前从未使用过一个,而且我一直试图使用一个关于我为打破一些电子邮件而做的事情.

然而,因为我之前从未使用过,所以我甚至无法用装饰器做一些非常简单的事情,而且我认为它存在某种形式的设置问题.我知道除了我的小功能之外的所有内容(也就是gem文件等)都是最新的和正确的.

我得到的错误很简单,

Could not infer a decorator for ActiveRecord::Base.

现在我有一个几乎为空的控制器,但在其中,我保存了活动记录部分.

class Admin::ReceivedEmailsController < Admin::ApplicationController

以我的观点为标题,

_receive_email.html.haml

我现在所做的一切都是如此:

  %td= received_email.decorate

我的装饰师

class Admin::ReceivedEmailsDecorator < Admin::ApplicationDecorator

def received_email
 if can? :update, @customer
   received_email.content
 else
   "You need to have the correct admin access to view the email"
 end
end

我觉得这对我来说是一件非常重要的事情,但是我不确定它是什么.有人会知道我错过了什么吗?

最佳答案 经过进一步的研究,逆向工程进一步装饰并阅读更多文档.我了解到需要一个模型或帮助器来正确使用装饰器.由于我的部分原因,我没有使用一个特定的型号或帮手.

点赞