<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -62,20 +62,28 @@ end
 # I adjusted the logic a little bit, a person cannot borrow a car, only family can.
 
 class Dvd &lt; ActiveRecord::Base 
-  has_one: owner, :through =&gt; ownables
-  has_one: borrower, :through =&gt; borrowed_items
+  via_polymorphs do
+    has_one: owner, :through =&gt; ownables
+    has_one: borrower, :through =&gt; borrowed_items
+  end
 end
 
 class Car &lt; ActiveRecord::Base   
-  has_one: owner, :through =&gt; ownables
-  has_one: borrower, :through =&gt; borrowed_items
+  via_polymorphs do
+    has_one: owner, :through =&gt; ownables
+    has_one: borrower, :through =&gt; borrowed_items
+  end
 end
 
 class Book &lt; ActiveRecord::Base   
-  has_one: owner, :through =&gt; ownables
-  has_one: borrower, :through =&gt; borrowed_items
+  via_polymorphs do
+    has_one: owner, :through =&gt; ownables
+    has_one: borrower, :through =&gt; borrowed_items
+  end
 end
 
+If you don't like the via_polymorphs do ... end block, you can use polymorphically_has_many, polymorphically_has_one, and polymorphically_has instead.
+
 Few more lines of code, but no extra model, and we see what we have now:
 
 p = Person.create</diff>
      <filename>README</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>bc49db9fda6140183107a696953337ee7fbbc8a8</id>
    </parent>
  </parents>
  <author>
    <name>Duc Duong</name>
    <email>duc@DucOnRails.(none)</email>
  </author>
  <url>http://github.com/ducduong/polymorphic_association/commit/ddc5095b6659d0ce188ccbb96325949f4b8e6fb8</url>
  <id>ddc5095b6659d0ce188ccbb96325949f4b8e6fb8</id>
  <committed-date>2008-07-14T22:34:18-07:00</committed-date>
  <authored-date>2008-07-14T22:34:18-07:00</authored-date>
  <message>update README</message>
  <tree>e5aaa727597749489ec791b6f8d89c009c0f24ce</tree>
  <committer>
    <name>Duc Duong</name>
    <email>duc@DucOnRails.(none)</email>
  </committer>
</commit>
