11

私の環境:

ネストされたリソースを使用していて、デコレータを宣言する場所がわかりません。

#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

に置き換えitemsてみましたがItemDecorator、うまくいきませんでした。どこに置けばいいですか?

Draper がフォーム内のネストされたリソースに問題があることは知っていますが、これはフォームではありません!

4

1 に答える 1

11

私があなたの問題を正しく理解している限り、あなたuserは多くの を持っているモデルを持ってitemsいますitemsが、装飾されていませんか?

だからあなたに追加してくださいUserDecorator

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

  [..]
end

class ItemDecorator < Draper::Base
  decorates :item

  [..]
end

ソースを見てください。

于 2012-06-07T20:10:47.820 に答える