如何在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
替换items
, ItemDecorator
它没有用。 我应该把它放在哪里?
我知道Draper在表单中存在嵌套资源的问题,但这不是表单!
至于我已经正确理解你的问题,你有一个模型user
有很多items
,但你的items
没有装饰?
添加到UserDecorator
:
class UserDecorator < Draper::Base decorates :user decorates_association :items #, :with => :item [..] end class ItemDecorator < Draper::Base decorates :item [..] end
看看来源 。