This is related to this: https://github.com/rails/rails/pull/12772
In my opinion I prefer to have that kind of explicit feature disable instead some magic lambda condition. Rafael Mendonça França http://twitter.com/rafaelfranca https://github.com/rafaelfranca On Tue, Nov 5, 2013 at 1:13 PM, Andrew Kaspick <[email protected]> wrote: > Something that I believe would be useful to prevent overzealous "updates" > via touch would be to allow a lambda to be specified to determine if the > touch should occur or not. > > class Client > belongs_to :project, touch: -> {|rec| rec.name_changed?} > end > > In this case, the project association is only "touched" if only the client > name changes. This way if there's a lot of client data that has no value > to the project object and the project is only concerned with a change to > just one client attribute (for example) this would only trigger the touch > in that case. > > Since an attribute can be specified for touch, then perhaps the option > should be called touch_if and the touch is always performed when the main > object is destroyed. > > class Client > belongs_to :project, touch: true, touch_if: -> {|rec| rec.name_changed?} > end > > Thoughts? > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Core" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/rubyonrails-core. > For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/groups/opt_out.
