My environment:
I'm using nested resources and having trouble figuring out where to declare the decorator.
#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
I tried replacing items
with ItemDecorator
and it didn't work. Where should I be putting it?
I know that Draper has issues with nested resources in forms, but this isn't a form!
As far as I've understood your problem correctly, you've a model user
which has many items
, but your items
were not decorated?
So add to your UserDecorator
:
class UserDecorator < Draper::Base
decorates :user
decorates_association :items #, :with => :item
[..]
end
class ItemDecorator < Draper::Base
decorates :item
[..]
end
Have a look on the source.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With