如何装饰嵌套属性(协会)与德雷珀在Rails 3的?(How to decorate nested

2019-07-29 17:54发布

我的环境:

  • Rails的3.2
    • 与德雷珀宝石

我使用嵌套的资源,有麻烦搞清楚申报装饰。

#app/controllers/users_controller.rb
def show
  @user = UserDecorator.find(params[:id])
  @items = @user.items
end

#app/controllers/items_controller.rb
def show
  @item = @user.items.find(params[:id])
end

我试图取代itemsItemDecorator并没有奏效。 凡我应该把它?

我知道,德雷珀已经与形式嵌套资源的问题,但这不是一种形式!

Answer 1:

据我理解正确的话你的问题,你的模型user那里有很多items ,但你的items没有装修?

因此,添加到您的UserDecorator

class UserDecorator < Draper::Base
  decorates :user
  decorates_association :items #, :with => :item 

  [..]
end

class ItemDecorator < Draper::Base
  decorates :item

  [..]
end

有一看源 。



文章来源: How to decorate nested attributes (associations) with Draper in Rails 3?