我正在使用 Draper 来装饰我的物品。
我有一个模型“开始”,它有一匹马。我有一个 horse 装饰器,它有一个 boy_or_girl 方法,我从 horse 模式中重构了该方法。
#{start.horse.boy_or_girl}"
我得到了在 boy_or_girl 方法中找不到的方法。我如何装饰相关的马?
我正在使用 Draper 来装饰我的物品。
我有一个模型“开始”,它有一匹马。我有一个 horse 装饰器,它有一个 boy_or_girl 方法,我从 horse 模式中重构了该方法。
#{start.horse.boy_or_girl}"
我得到了在 boy_or_girl 方法中找不到的方法。我如何装饰相关的马?
你不能只在你的部分调用 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
另请参阅此问题