REST, Nested Routes and Best Practices

Hi everyone,

I am trying to strictly adhere to REST and I have a few code
organization questions.

My database tables are as follows:

USERS
GROUPS
GROUP_USERS
EVENTS
EVENT_USERS

The relationships are as follows:

GROUPS have many USERS and USERS have many GROUPS.
EVENTS have many USERS and USERS have many EVENTS.

So, right now, I have a controller for users, groups and events. I got
to the point where I want to have USERS add themselves to a GROUP and/or
an EVENT. Before I add methods to the group or event controller
specifically that are called something like add_user, delete_user,
edit_user … I want to get everyones take on my problem.


Here is my question:

Should I either (a) create a new controller for GROUP_USERS and
EVENT_USERS that handles the GROUP/USER and EVENT/USER relationships

OR

Should I (b) reuse the user controller code and in “def create” check to
see if there is an event_id or group_id present and then add the user to
either the group or event there?


Or, I guess, is there a better way to handle this?

Thanks a ton in advance,
Brandon

On Dec 5, 11:43 am, Brandon G. [email protected]
wrote:

EVENTS
specifically that are called something like add_user, delete_user,
Should I (b) reuse the user controller code and in “def create” check to
Posted viahttp://www.ruby-forum.com/.
I think you would benefit a Memberships controller (or something like
that), that would handle the adding/removing of users to and from
groups. You might also want a corresponding membership model (though
it’s not totally necessary, but many people find it helpful).

That way, your Users and Groups controllers stay “clean”, and you
isolate the membership-ness stuff to a separate controller.

Jeff

purpleworkshops.com

Jeff C. wrote:

On Dec 5, 11:43�am, Brandon G. [email protected]
wrote:

EVENTS
specifically that are called something like add_user, delete_user,
Should I (b) reuse the user controller code and in “def create” check to
Posted viahttp://www.ruby-forum.com/.
I think you would benefit a Memberships controller (or something like
that), that would handle the adding/removing of users to and from
groups. You might also want a corresponding membership model (though
it’s not totally necessary, but many people find it helpful).

That way, your Users and Groups controllers stay “clean”, and you
isolate the membership-ness stuff to a separate controller.

Jeff

purpleworkshops.com

That sounds like a good option. I really didn’t want to muddy up the
users controller at all and keep them clean like you said.

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