You are here: Browse Railsplugins Foreign Key Associations
= Foreign Key Associations
Foreign Key Associations is a plugin that automatically creates associations based on foreign-keys. The associations are created at runtime—ie. as your ActiveRecord models are loaded—so they will always be up-to-date.
For example, given a foreign-key from a customer_id column in an orders table to an id column in a customers table, the plugin creates:
Order.belongs_to :customer
Customer.has_many :orders
If there is a uniqueness constraint-eg unique index-on a foreign-key column,
then the plugin will creates a has_one instead of a has_many.
For example, given a foreign-key from an order_id column with a uniqueness constraint in an invoices table to an id column in an orders table, the plugin creates:
Invoice.belongs_to :order
Order.has_one :invoice
Additionally, if there is a position column in the child table, the parent association will be created with an order clause.
For example, given a foreign-key from a order_id column in an order_lines table containing a position column, to an id column in a orders table, the plugin creates:
OrderLine.belongs_to :orders
Order.has_many :lines, :order => :position
And finally, notice that in the previous example, the association name used for the Order.has_many is :lines and not :order_lines. More specifically, the plugin removes the prefix from has_many and has_one associations if the the name of parent class forms a proper prefix of the child class name.
The plugin fully supports and understands the following active-record configuration properties:
=== Dependencies
=== See Also
=== License
This plugin is copyright 2006 by RedHill Consulting, Pty. Ltd. and is released under the MIT license.
NOTE: This description has been extracted from the Plugin README and so the formatting may need updating to make browser friendly