disabling time stamps for a particular model

Why can't I do this on my Model

class Abc < ActiveRecordBase

def before_save
      ActiveRecord::Base.record_timestamps = false
end

  def after_save
     ActiveRecord::Base.record_timestamps = true
  end

end

ABC.save! throws errors without telling me what the problem is. There
are timestamps in this particular table and I don't want them to be
auto-populated by Rails.

ActiveRecord::RecordNotSaved: ActiveRecord::RecordNotSaved
        from /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/
active_record/base.rb:2206:in `save_without_validation!'
        from /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/
active_record/validations.rb:911:in `save_without_dirty!'
        from /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/
active_record/dirty.rb:83:in `save_without_transactions!'
        from /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/
active_record/transactions.rb:110:in `save!'
        from /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/
active_record/connection_adapters/abstract/database_statements.rb:
66:in `transaction'
        from /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/
active_record/transactions.rb:79:in `transaction'
        from /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/
active_record/transactions.rb:98:in `transaction'
        from /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/
active_record/transactions.rb:110:in `save!'
        from /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/
active_record/transactions.rb:118:in `rollback_active_record_state!'
        from /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/
active_record/transactions.rb:110:in `save!'
        from (irb):18

Hi,

You can't do it like that, you try to disable it globally - which you
can do only in your environment/startup config files.

What you can do, however, is not to create timestamps collumns in
your migrations for models. So, you just need to remove
"t.timestamps" line in migration for model or columns
"created_at"/"updated_at".

Best,
H.

Hi,

You can't do it like that, you try to disable it globally - which you
can do only in your environment/startup config files.

I've done that plenty of times, usually like
begin
  ActiveRecord::Base.record_timestamps = false
  ...
ensure
  ActiveRecord::Base.record_timestamps = true
end

But it's true that if you're going to do it systematically you might
as well stick Abc.record_timestamps = false somewhere

Fred