Advice on db/model relationships in RoR

Hi there. I’m making my first rails app and taking Hartl’s tutorial app
as
my starting point. All the features he implements are things I want.

Primarily the site wants to be a collection organising site. I’ll be
adding
a table of ITEMS, and USERS can add those ITEMS to their collection or
to
their wantlist.

What I’m trying to decide is where best to put the “who has what”
information. It seems to me that doing it all in the USERS or ITEMS
table
might be a bit cumbersome. For instance an ITEM “has many” USERS with a
long list of them, or a USER “has many” ITEMS, again with a long list.

Would it be better to use “has many through” with an OWNERSHIP or
COLLECTION model/table?
I’m thinking along the lines of
1, USER 5, ITEM 322, WANTLIST
2, USER 9, ITEM 27, COLECTION
3, USER 6, ITEM 90, COLLECTION
etc

If this is a better idea would it make more sense to give WANTLIST a
seperate model/table?

I’m trying to work out what would be the most efficient way of doing it.
They want to be easily indexable so that you can have “USER has 378
ITEMS”
and the like.

Any pointers much appreciated.

On 25 September 2013 11:34, [email protected] wrote:

list of them, or a USER “has many” ITEMS, again with a long list.
If a user can have many items, and each item can be associated with
many users then neither of those will work.

Would it be better to use “has many through” with an OWNERSHIP or COLLECTION

Yes, if the relationship requires it (see above).

model/table?
I’m thinking along the lines of
1, USER 5, ITEM 322, WANTLIST
2, USER 9, ITEM 27, COLECTION
3, USER 6, ITEM 90, COLLECTION

I don’t understand what WANTLIST COLECTION and COLLECTION mean here.

etc

If this is a better idea would it make more sense to give WANTLIST a
seperate model/table?

I’m trying to work out what would be the most efficient way of doing it.
They want to be easily indexable so that you can have “USER has 378 ITEMS”
and the like.

current_user.items.count

Colin

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs