Expense would belong to Vendor, not have one Vendor, unless you are
planning to put the foreign key in the vendors table, which sounds
very strange, as that would require a new vendor to be created for
every expense.
If you are fist selecting a vendor, and then selecting an account
belonging to that vendor when you create an expense, then it makes
sense to hook expense up to account, not vendor.

class Vendor
  has_many :accounts

class Account
  belongs_to :vendor
  has_many :expenses

class Expense
  belongs_to :account

Then when you have created an expense you can get its account through
@expense.account and its vendor through @expense.account.vendor.
Does this make sense?

On May 12, 3:22 am, RichardOnRails
<[email protected]> wrote:
> Thinking about it some more,  I now think I should have separate
> Expense, Vendor and Account tables with the following relationships:
>
> class Expense
>         has_one Vendor
>
> class Vendor
>         has_many Accounts
>         belongs_to Expense
>
> class Account
>         belongs_to Vendor
>
> Then an Expense record can get Accounts through Vendor. .. or
> something like that.
>
> Am I getting warmer?
>
> Thanks in Advance,
> Richard
>
> On May 11, 8:57 pm, RichardOnRails
>
>
>
> <[email protected]> wrote:
> > Hi,
>
> > I have three tables: Expenses, Vendors and Vendor _Accounts
>
> > It should operate as follows:
> > When a new Expense record is created,
> > A vendor is selected from a drop-down of Vendors and,
> > An account is selected from a drop-down of Vendor_Accounts where
> > Vendor_Accounts#vender == selected vendor
>
> > So I should have a structure something like:
> > class Expense
> >         has_one Vendor
>
> > class Vendor
> >         has_many Vendor_Accounts where Vendor#id == Vendor_Accounts#vendor
> >         belongs_to Expense
>
> > class Vendor_Account
> >         belongs_to Vendor
>
> > I don’t think I should have Expense, Vendor and Account tables because
> > the accounts defined by each vendor bear no relationship with the
> > other vendors’ account beyond the mere concept of “account”.
>
> > Does this make sense, and if so,  how precisely should I describe
> > these relationships? Am I close with the above idea?
>
> > BTW, I'm running Rails 2.3.5, Ruby 1.8.6, WinXP-Pro/SP3, Firefox
> > 3.6.2, Firebug 1.5.3,
> > MySQL 5.0.37-community-nt, Mongrel, Apache HTTP Server 2.2.15
>
> > Thanks in Advance,
> > Richard
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Ruby on Rails: Talk" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/rubyonrails-talk?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Ruby on Rails: Talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group 
> athttp://groups.google.com/group/rubyonrails-talk?hl=en.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to