Is it possible to do this with only two Rails models, User and Event:
Users
|id |name |age |
|1 |danilo |26 |
|2 |joe |23 |
|3 |carlos |50 |
|4 |katy |45 |
Events_Users
|event_id |user_id |confirmed |
|1 |1 |1 |
|3 |3 |0 |
|4 |3 |1 |
|2 |3 |1 |
Events
|id |name |date |
|1 |the end of the year |31/12/2012 |
|2 |the end of the world |21/12/2012 |
|3 |Party |18/12/2012 |
|4 |Dinner |19/12/2012 |
The problem is, the user can confirm or not their presence in an event, for this I used the table Events_Users, column confirmed (1 for confirmed). How can I do this with Rails ActiveRecord without an model "Event_User"? How can I manipulate the confirmed column in the User model?
I am using Rails 3.2.9 .
User
and Event
have many-to-many
relationship, you can not set up this association with just 2 model, you must have the join model, or join table.
In your case, you added attribute confirmed
, so you will need a join model, named Confirmation (as other people recommended). Your define associations will be like this:
class User
has_many :events, through: :confirmations
has_many :confirmations
end
class Event
has_many :users, through: :confirmations
has_many :confirmations
end
class Confirmation
belongs_to :user
belongs_to :event
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With