我正在尝试使用 Draper 装饰由 public_activity gem 创建的事件集合。
但是,似乎 PublicActivity::Activity 不是从 ActiveRecord 继承的(我的假设是否正确?)所以我需要添加 include Draper::Decoratable
到模型,但那个 PublicActivity 模型到底在哪里?
顺便说一句,这是我得到的错误:Could not infer a decorator for PublicActivity::Activity.
最佳答案
好吧,事实证明这是行不通的:
class StudentActivitiesController < ApplicationController
def index
@activities = PublicActivity::Activity.order("created_at desc").decorate
end
end
我猜这是因为命名空间查询
PublicActivity::Activty
不从 ActiveRecord 继承,因此不包括 Draper::Decoratable
,但我不确定。如果我错了,请纠正我。但是,使用 Draper,您可以装饰对象以及查询,因此此 确实有效 ...
class StudentActivitiesController < ApplicationController
def index
@activities = PublicActivity::Activity.order("created_at desc")
@activities = StudentActivitiesDecorator.decorate_collection(@activities)
end
end
装饰器还必须包括
decorates PublicActivity::Activity
关于ruby-on-rails - 饰有 Draper 的 public_activity gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20803784/