首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Draper装饰public_activity宝石

用Draper装饰public_activity宝石
EN

Stack Overflow用户
提问于 2013-12-27 16:08:08
回答 2查看 1K关注 0票数 4

我正在尝试使用Draper来装饰由public_activity宝石创建的活动集合。

然而,看起来PublicActivity::Activity并不是从ActiveRecord继承的(我认为这是对的吗?)所以我需要将include Draper::Decoratable添加到模型中,但是PublicActivity模型到底在哪里呢?

顺便说一句,这就是我所犯的错误:

Could not infer a decorator for PublicActivity::Activity.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-27 16:39:40

事实证明,这是行不通的:

代码语言:javascript
复制
class StudentActivitiesController < ApplicationController
  def index
    @activities = PublicActivity::Activity.order("created_at desc").decorate
  end
end

我猜这是因为名称空间查询PublicActivity::Activty不继承ActiveRecord,因此不包括Draper::Decoratable,但我不确定。如果我错了,请纠正我。

但是,使用Draper,您可以装饰对象以及查询,所以这个确实可以工作.

代码语言:javascript
复制
class StudentActivitiesController < ApplicationController
  def index
    @activities = PublicActivity::Activity.order("created_at desc")
    @activities = StudentActivitiesDecorator.decorate_collection(@activities)
  end
end

装饰师还必须包括decorates PublicActivity::Activity

票数 3
EN

Stack Overflow用户

发布于 2014-02-15 04:16:40

activity_decorator.rb放进decorators/public_activity

代码语言:javascript
复制
# app/decorators/public_activity/activity_decorator.rb

class PublicActivity::ActivityDecorator < Draper::Decorator
end
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20803784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档