-
Notifications
You must be signed in to change notification settings - Fork 1
Rails plugin to enable models to inherit attributes from parent or related models
License
springyweb/inheritable_attributes
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
InheritableAttributes ===================== Useful if model attributes are to be inherited from a parent object if blank. Example ======= class Company < ActiveRecord::Base # company has an attribute "address" has_many :divisions end class Division < ActiveRecord::Base # division has an attribute "address" belongs_to :company inherit_attribute :address, :from => :company end class Department < ActiveRecord::Base # department has an attribute "address" belongs_to :division inherit_attribute :address, :from => :division end d = Department.first d.address #=> returns d.address, unless that value is blank, in which case it returns d.division.address, unless that value is blank, in which case it returns d.division.company.address You can also specify more than one attribute to inherit: class Department # department has an attribute "address" belongs_to :division inherit_attributes [:address, :telephone], :from => :division end If the attribute has a different name in the parent, you can use the :as option to specify it: class Depot < ActiveRecord::Base belongs_to :company inherit_attribute :postal_address, :from => :company, :as => :address end d = Depot.first d.postal_address #=> returns d.postal_address, unless that value is blank, in which case it returns d.company.address Copyright (c) 2008 Jon Evans, Springy Web (UK) Ltd. Released under the MIT license [email protected]
About
Rails plugin to enable models to inherit attributes from parent or related models
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published