0

我正在使用 Draper 来装饰我的物品。

我有一个模型“开始”,它有一匹马。我有一个 horse 装饰器,它有一个 boy_or_girl 方法,我从 horse 模式中重构了该方法。

#{start.horse.boy_or_girl}"

我得到了在 boy_or_girl 方法中找不到的方法。我如何装饰相关的马?

4

1 回答 1

2

你不能只在你的部分调用 draper#{start.horse.decorate.boy_or_girl}"吗?

如果你只想在控制器中调用装饰器,你应该使用decorates_association

我猜你会有类似的东西

class StartDecorator < Draper::Base
  decorates :start
  decorates_association :horses
  ...
end

class HorseDecorator < Draper::Base
  decorates :horse

  def boy_or_girl
    # your code
  end
  ...
end

另请参阅此问题

于 2013-08-03T12:15:29.550 回答