-
Logic, OK it might sound a bit weak for this but it would be logical to say that “I have a supplier who has an account with me, I want to see the entire account history of this supplier”, so it makes sense for me to be able to access account history from supplier directly.
-
Efficiency, this for me is the main reason I would use
:through, simply because this issues a join statement rather than calling supplier, and then account, and then account_history. noticed the number of database calls?-
using
:through, 1 call to get the supplier, 1 call to get account_history (rails automatically uses:jointo retrieve through account) -
using normal association, 1 call to get supplier, 1 call to get account, and 1 call to get account_history
-
That’s what I think =) hope it helps!