My initial example is probably confusing. Here is another shot at it in
something that has more meaning:

A User can create multiple “notices” ( eg “Corporate meeting notice”, “Big
Sale Items”, “Job Wanted” )
A User can create multiple “notice groups” (eg “Corporate Notices”, “Public
Notices”, “My Miscellaneous Notices”)
Every notice should belong to an “notice group”
A User needs to be able to subscribe to multiple “notice groups” so that
they could  see the notices in the different groups they’re subscribed to.


To model this relationship, I was thinking:

User
  has_many :notices
  has_and_belong_to_many :notice_groups

Notice
  has_one :notice_group
  belongs_to :user

NoticeGroup
   has_and_belongs_to_many :users

So first question, is the above set up correctly?

How would I also model that a “NoticeGroup” is ‘owned/created’ by a
particular user? Right now the HABTM on NoticeGroup seems to imply that the
NoticeGroup can belong to many Users but I also need it to show that its
owned/created by a particular User (owner_id concept on NoticeGroup?), can I
have a HABTM :users and a belongs_to :User in the same NoticeGroup model
definition?




On Wed, Aug 11, 2010 at 12:20 AM, Rick R <ric...@gmail.com> wrote:

> I'm pretty newb and trying to get a handle on setting up a particular
> relationship with my models.
>
> For sake of this discussion (real app isn't with tools but for
> illustration, using tools):
>
> To start with (more complicated in a bit);
>
> - A User can have multiple tools
> - A single tool can only belong to one ToolGroup
> - A User can belong to multiple ToolGroups
>
> To model this relationship, I was thinking:
>
> User
>   has_many :tools
>   has_and_belong_to_many :tool_groups
>
> Tool
>   has_one :tool_group
>   belongs_to :user
>
> ToolGroup
>   has_and_belongs_to_many :users
>
>
> So first question, is the above set up correctly?
>
> Once the above is set up correctly, I want to have it set up where a
> ToolGroup can also be 'owned' by a User. In other words, a user will set up
> a ToolGroup and they are the owner, but other users can belong to this
> ToolGroup. How do I model that? Do I need to set up another model that is
> called "Owner" that is really a "User"? This doesn't seem right. In reality
> the db table "ToolGroup" would just need an "ownerID" that would be a fk to
> the User table, but I'm not sure how to model that since ToolGroup already
> has a HABTM to users. Can I have a HABTM to Users and also a belongs_to
> :User?
>
> Thanks for any help
>



-- 
Rick R

-- 
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 rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to