Rails multiple inverse_of associations
===

Is there any way to specify multiple inverse_of options in models to maintain in memory integrity?

I have an Order model that contains ParentItems and these can contain ChildItems and I'd like the items to always be associated with the Order instance that's in memory. The reason being is that I have an observer against the items and need to check the status of the Order.

Here's my models and associations:

    class Order < ActiveRecord::Base
      has_many :parent_items, :class_name => "OrderItem",
                              :conditions => {:parent_item_id => nil},
                              :inverse_of => :order
    end

    class OrderItem < ActiveRecord::Base
      belongs_to :order, :inverse_of => :parent_items

      belongs_to :parent_item, :class_name => "OrderItem",
                               :foreign_key => :parent_item_id,
                               :inverse_of => :child_items

      has_many :child_items, :class_name => "OrderItem", 
                             :foreign_key => :parent_item_id,
                             :inverse_of => :parent_item
    end