У меня есть модели Workout и User, которые связаны с многими из многих через модель UserWorkout. А модель UserWorkout имеет атрибут: is_creator, который показывает, каким пользователем был создатель. Но у тренировки должен быть только один создатель. Каков наилучший способ добавить такую проверку?Rails has_many: через проверку вложенных записей подсчитывается по определенному параметру
class Workout < ActiveRecord::Base
has_many :user_workouts, inverse_of: :workout, dependent: :destroy
has_many :participants, through: :user_workouts, source: :user
def creator
participants.where(user_workouts: { is_creator: true }).order('user_workouts.created_at ASC').first
end
end
class UserWorkout < ActiveRecord::Base
belongs_to :user
belongs_to :workout
end
class User < ActiveRecord::Base
has_many :user_workouts, inverse_of: :user, dependent: :destroy
has_many :workouts, through: :user_workouts
end
спасибо за хорошую идею) –