在父对象视图partial中装饰关系对象

时间:2013-08-03 10:37:50

标签: ruby-on-rails decorator draper

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

我有一个模型'开始',有一个马。我有一个马装饰器,有一个boy_or_girl方法,我已经从马模式重构。

#{start.horse.boy_or_girl}"

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

1 个答案:

答案 0 :(得分:2)

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

如果只想在控制器中调用装饰器,则应使用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

另见question