我在使用装饰器时遇到了麻烦.我之前从未使用过一个,而且我一直试图使用一个关于我为打破一些电子邮件而做的事情.
然而,因为我之前从未使用过,所以我甚至无法用装饰器做一些非常简单的事情,而且我认为它存在某种形式的设置问题.我知道除了我的小功能之外的所有内容(也就是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
我觉得这对我来说是一件非常重要的事情,但是我不确定它是什么.有人会知道我错过了什么吗?
最佳答案 经过进一步的研究,逆向工程进一步装饰并阅读更多文档.我了解到需要一个模型或帮助器来正确使用装饰器.由于我的部分原因,我没有使用一个特定的型号或帮手.