Ruby on Rails
Wednesday, July 25, 2012
I would like to apply logical delete in my application(Instead of permanently deleting a record just have been marked as deleted). I have Added available column to all tables with default value true. Now I want common place to write the following code for all models.
Write the instance method which make 'available' column value false when user clicks on destroy link.Merge the 'available=true' condition to all ActiveRecord's queries while fetching the records.
With reference Rails extending ActiveRecord::Base, I decided to use monkey patch to do above. Created monkey patch file in config/initializer/active_record_patch.rb:
class ActiveRecord::Base
def inactive
update_attribute(:available, false)
end
default_scope :available => true
end
Getting following error when add the default_scope
/gems/ruby-1.9.2-p290/gems/activerecord-3.0.9/lib/active_record/base.rb:1212:in class_of_active_record_descendant': undefined methodabstract_class?' for Object:Class (NoMethodError)
--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/LSZ_4NOqFE4J.
For more options, visit https://groups.google.com/groups/opt_out.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment