我在使用装饰器时遇到问题。我以前从未使用过一个,而且我一直在尝试使用一个来处理我为分解一些电子邮件所做的事情。
但是,因为我以前从未使用过,所以即使用我的装饰器做一些非常简单的事情,我也遇到了麻烦,我认为它存在某种形式的设置问题。我知道我的小功能之外的所有东西(又名 gemfile
等)都是最新的和正确的。
我得到的错误很简单,
Could not infer a decorator for ActiveRecord::Base.
现在我有一个几乎是空的 Controller ,但在它里面,我像这样保存了事件记录部分。
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
我觉得这对我来说必须是一件很基本的事情才能错过,但我不确定它是什么。有人会知道我错过了什么吗?
最佳答案
经过进一步研究,逆向工程进一步装饰器并阅读更多文档。我了解到需要模型或助手才能正确使用装饰器。由于我的部分原因,我没有一个特定的模型或助手可以使用。
关于ruby-on-rails - 使用装饰器,(rails) 无法推断 ActiveRecord::Base 的装饰器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33877328/