Manivannan J
2012-Jul-25 13:31 UTC
Rails3-default_scope throws exception: undefined method abstract_class? for Object:Class
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.
1.
Write the instance method which make ''available'' column
value false when user clicks on destroy link.
2.
Merge the ''available=true'' condition to all
ActiveRecord''s queries while fetching the records.
With reference Rails extending
ActiveRecord::Base<http://stackoverflow.com/questions/2328984/rails-extending-activerecordbase>,
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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
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.
