title: Rails scope find with current user
body: <p>I'm using Rails 3 with Devise for user auth. Let's say I have a User model, with Devise enabled, and a Product model, and that a User has_many Products.</p>
  
  <p>In my Products controller I'd like my find method to be scoped by current_user, ie. </p>
  
  <p><code>@product = current_user.products.find(params[:id])</code></p>
  
  <p><em>unless</em> the user is an admin user, i.e. <code>current_user.admin?</code></p>
  
  <p>Right now, I'm running that code in almost every method, which seems messy:</p>
  
  <pre><code>if current_user.admin?
    @product = Product.find(params[:id])
  else
    @product = current_user.products.find(params[:id])
  end
  </code></pre>
  
  <p>Is there a more elegant/standard way of doing this?</p>