ruby-on-rails - 饰有 Draper 的 public_activity gem

标签 ruby-on-rails ruby-on-rails-4 draper

我正在尝试使用 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/

相关文章:

ruby - 如何更好地测试装饰对象的相等性?

html - 用不同的样式格式化不同的输入

ruby-on-rails - 如何从Rails Controller 显式声明 View ?

mysql - 使用 bootstrap-datepicker-rails,现在我的日期是字符串,但我需要将其作为日期保存到数据库

ruby-on-rails - xxx 的副本已从模块树中删除但仍处于事件状态

ruby-on-rails - 添加 MIME 扩展名时不推荐使用的消息

ruby-on-rails - 如何在 Rails 3 中使用 Draper 装饰嵌套属性(关联)?

ruby-on-rails - 您是否可以将find_each查询与include语句一起使用?

ruby-on-rails - 有没有办法解决 Rails 删除的迁移?

ruby-on-rails - 如何使用rspec规范装饰器。