I need help building a relationship model.

I created a scaffold that has a controller and model for an activism events feature where individual activism networks will post events for their supporters to attend. Called EventsController and :events model

The events table has a laundry list of properties for the create method. Right now, I'm trying to figure out how to give users outside of the events creator the ability to sign up to attend those events. How would you develop such a relationship between a show post and a sign-up form for normal users?

Right now, my Event.rb has belongs_to :activism_co_user has_one :category

Activism_co_user.rb has_many :events

The table itself has quite a few properties that describe what the event will be and how many people can attend. What I would I like to is allow them to limit the amount of tickets for an event, and let users pick options like donate to their charity using a stripe mechanism during checkout

I created a scaffold that has a controller and model for an activism events feature where individual activism networks will post events for their supporters to attend. Called EventsController and :events model

The events table has a laundry list of properties for the create method. Right now, I'm trying to figure out how to give users outside of the events creator the ability to sign up to attend those events. How would you develop such a relationship between a show post and a sign-up form for normal users?

Right now, my Event.rb has belongs_to :activism_co_user

What??

has_one :category

Activism_co_user.rb has_many :events

The table itself has quite a few properties that describe what the event will be and how many people can attend. What I would I like to is allow them to limit the amount of tickets for an event, and let users pick options like donate to their charity using a stripe mechanism during checkout

If I understand correctly then possibly you will want a join model called something like attendance where user has_many attendances user has_many events through attendances

event has_many attendances event has_many users through attendances

attendance belongs to event and belongs to user.

What on earth is an activism_co_user?

Colin

Colin Law wrote in post #1166568:

Colin Law wrote in post #1166568:

If I understand correctly then possibly you will want a join model called something like attendance where user has_many attendances user has_many events through attendances

event has_many attendances event has_many users through attendances

attendance belongs to event and belongs to user.

What on earth is an activism_co_user?

Colin

As in does it need some form of id within the attendance model - I'll have to create a separate table for it. I just need the traditional db properties that you might use in this instance.

:attendances

It is almost always a bad idea to have have separate tables for different user types. Just use an authorisation gem such as pundit to allow different users to have different capabilities.

That you have to ask the question about how join models work suggests you are a beginner at rails. Before going further I suggest you work right through a good tutorial such as railstutorial.org (which is free to use online) so that you understand the basics of rails.

Also have a look at the Rails Guides.

Colin