Agile Web Development

Build it. Launch it. Love it.

ActiveRecord Defaults

If you find this plugin useful, please consider a donation to show your support!

  http://www.paypal.com/cgi-bin/webscr?cmd=_send-money

  Email address: jonathan.viney@gmail.com

Instructions

Allow you to easily specify default values for attributes on new model objects. Eg:

  class Person < ActiveRecord::Base
    defaults :country => 'New Zealand', :type => 'Unknown'

    default :last_name do |person|
      person.first_name
    end
  end

You can also define a defaults method like so:

  class Person < ActiveRecord::Base
    def defaults
      self.first_name = "Jonathan"
    end
  end

The default value is only used if the attribute is not present in the attributes hash:

  p = Person.new
  p.country # "New Zealand"

  p = Person.new(:country => nil)
  p.country # nil

Installation

  script/plugin install http://svn.viney.net.nz/things/rails/plugins/active_record_defaults

Help

Feel free to email with any problems, suggestions, bugs etc…

  jonathan dot viney @ gmail . com

Vitals

Repository http://svn.viney.net.nz/things/rails/plugins/active_record_defaults/
License Rails' (MIT)
Rating (7 votes)
Owner Jonathan Viney
Created 29 October 2006

Comments

  • Eric Anderson
    29 October 2006

    Doesn't ActiveRecord already do this based on the defaults set in the database?

  • Avatar
    Jonathan Viney
    30 October 2006

    No, you can only specify static default values with migrations. This plugin allows the default values to be determined when a new model object is created, allowing for features like user-configurable defaults.

    > Doesn't ActiveRecord already do this based on the defaults set in the database?

  • Avatar
    Jonathan Viney
    30 October 2006

    No, you can only specify static default values with migrations. This plugin allows the default values to be determined when a new model object is created, allowing for features like user-configurable defaults.

    > Doesn't ActiveRecord already do this based on the defaults set in the database?

  • Paul
    15 December 2006

    Just what I was looking for! Cheers!

  • Avatar
    11 June 2007

    Thanks! - Much nicer than the alternatives :)

  • lambchop
    24 July 2007

    The svn repository appears down as of 2007-07-24.

  • Avatar
    9 August 2007

    Nice and neat, thanks!

Add a comment