Over a million developers have joined DZone.

Initialize Extra Attributes In Activerecord-classes

·
Classes derived from ActiveRecord::Base don't call initialize on creation. 
Extra attributes (i.e. non DB-attributes) can be initialized with the after_initialize callback.

class Something < ActiveRecord::Base 
  attr_reader :extra_attribute

  def after_initialize
    @extra_attribute = 'default_value'
  end

References:
- http://blog.dalethatcher.com/2008/03/rails-dont-override-initialize-on.html
- http://blog.hasmanythrough.com/2007/1/22/using-faux-accessors-to-initialize-values
Topics:

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}