Adds JoinedUserActivity model to associate users to every activities they created
This commit is contained in:
parent
9a28dba9cb
commit
99747e3f2d
9 changed files with 63 additions and 3 deletions
|
|
@ -13,6 +13,10 @@ class Api::V1::ActivitiesController < ApplicationController
|
|||
def create
|
||||
activity = current_user.created_activities.build(activity_params)
|
||||
if activity.save
|
||||
JoinedUserActivity.create!(
|
||||
user_id: current_user.id,
|
||||
activity_id: activity.id
|
||||
)
|
||||
render json: activity, status: :created
|
||||
else
|
||||
render json: { errors: activity.errors }, status: :unprocessable_entity
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
class Activity < ApplicationRecord
|
||||
belongs_to :author, class_name: "User"
|
||||
|
||||
has_one :joined_user_activities
|
||||
has_one :user, :through => :joined_user_activities
|
||||
|
||||
validates :name, presence: true
|
||||
validates :author, presence: true
|
||||
end
|
||||
|
|
|
|||
4
app/models/joined_user_activity.rb
Normal file
4
app/models/joined_user_activity.rb
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
class JoinedUserActivity < ApplicationRecord
|
||||
belongs_to :user
|
||||
belongs_to :activity
|
||||
end
|
||||
|
|
@ -5,5 +5,9 @@ class User < ApplicationRecord
|
|||
validates :password_digest, presence: true
|
||||
|
||||
has_many :created_activities, foreign_key: 'author_id', class_name: 'Activity', dependent: :destroy
|
||||
|
||||
has_many :joined_user_activities
|
||||
has_many :activities, :through => :joined_user_activities
|
||||
|
||||
has_secure_password
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue