title: Is there anything bad about decorating objects (using Draper) at the start of a view?
body: <p>Draper recommends decorating objects at the end of a controller method or alternatively using their <code>decorates_associated</code> method <a href="https://github.com/drapergem/draper#when-to-decorate-objects" rel="nofollow">to automatically decorate them</a>.</p>
  
  <p>I like the idea of the view explicitly declaring what it expects to receive (granted the rest of Rails doesn't work like this but it still feels nice). I'd therefore prefer to decorate objects at the top of the view rather than at the end of the controller:</p>
  
  <p><strong>So in users#show I would like to do</strong>:</p>
  
  <pre><code>- @user = @user.decorate
  
  %h1= @user.full_name
  %p= @user.description
  </code></pre>
  
  <p><strong><em>Instead of</em> decorating in the users controller like this</strong></p>
  
  <pre><code>class UsersController &lt; ApplicationController
    ...
    def show
      @user = User.find(params[:id]
      @user = @user.decorate
    end
  end
  </code></pre>
  
  <p>I suspect there's some caching issue with doing things this way round but it feels nice. What if anything am I missing? Is what I'm proposing bad practice?</p>