Index: /home/pic/vc/playground/ror/playground/vendor/plugins/restful-rails/lib/http/conditions.rb =================================================================== --- /home/pic/vc/playground/ror/playground/vendor/plugins/restful-rails/lib/http/conditions.rb (revision 28) +++ /home/pic/vc/playground/ror/playground/vendor/plugins/restful-rails/lib/http/conditions.rb (working copy) @@ -15,6 +15,10 @@ end alias_method '<<', :push + + def consider_for_etag + @consider_for_etag ||= [] + end def test! return unless @models.size > 0 @@ -31,7 +35,10 @@ end end - response.etag = Digest::MD5.hexdigest(lock_versions.join('|')) + #response.etag = Digest::MD5.hexdigest(lock_versions.join('|')) + print "--> #{consider_for_etag}\n" + etag_values = [].concat(consider_for_etag).concat(lock_versions) + response.etag = Digest::MD5.hexdigest(etag_values.join('|')) response.last_modified = updated_at_dates.compact.sort.last || Time.now raise HTTP::PreconditionFailedError unless match? || unmodified_since?