title: Rails: How to run before_update only for one changed attribute?
body: <p>In my model <code>Shop</code> I'm saving image url in <code>logo_ori</code> and use that to make thumbnails using <code>before_update</code>.</p>
  
  <pre><code># shop.rb
  before_update :run_blitline_job
  
  private
  
  def run_blitline_job
    # uses logo_ori to make thumbnails
  end
  </code></pre>
  
  <p>However I found out that when I'm saving other attributes (eg: editing shop's profile in a form) it also runs <code>before_update</code>. How do I confine its execution when only <code>logo_ori</code> is saved? </p>
  
  <p>I've tried this :</p>
  
  <pre><code>before_update :run_blitline_job, :if =&gt; :logo_ori?
  </code></pre>
  
  <p>but it still runs <code>before_update</code> if I already have <code>logo_ori</code> saved earlier.</p>