如何在Rails 3中用Draper装饰嵌套属性(关联)?

我的环境:

  • Rails 3.2
    • 与gem擦肩而过

我正在使用嵌套资源,并且无法确定在何处声明装饰器。

#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 

我尝试用ItemDecorator替换itemsItemDecorator它没有用。 我应该把它放在哪里?

我知道Draper在表单中存在嵌套资源的问题,但这不是表单!

至于我已经正确理解你的问题,你有一个模型user有很多items ,但你的items没有装饰?

添加到UserDecorator

 class UserDecorator < Draper::Base decorates :user decorates_association :items #, :with => :item [..] end class ItemDecorator < Draper::Base decorates :item [..] end 

看看来源 。

Interesting Posts