Overwriting ActiveRecord::Base.content_columns

Jan wrote:

I want to define my own Content_colums methode as part of the ActiveRecord::Base class.

To do so, I have added the following code:

[Environment.rb] require 'model_extensions' ActiveRecord::Base.send(:extend, ModelExtensions)

[model_extensions.rb] module ModelExtensions   #Define Mixins for the ActiveRecord::Base modelclass   # Define list of available items for select   def valid_items(current_item=nil)     #.... works fine   end

  # Overwrite displayble columns attribute, eliminate: created_* and updated_*   def content_columns     @content_columns ||= columns.reject { |c| c.primary || c.name =~ /(_id|_count)$/ || c.name == inheritance_column || c.name == locking_column || c.name =~ /(created_|updated_)/}   end end

However, this won't work for the content_columns! The valid_items method though works perfectly as it is added to the AR:Base class. But overwriting content_columns has no effect at all. I tried to put 'attr :content_columns, true' but no effect neither

extend will only add methods, not re-define existing ones.

Instead, just write model_extensions.rb as

class ActiveRecord::Base    def self.valid_items(current_item=nil)      ...    end

   def self.content_columns      ...    end end

and require this in environment.rb