私はモデルWorkoutとUserを持っています。また、UserWorkoutモデルにはis_creator属性があります。これは、ユーザーが作成者であったことを示します。しかし、ワークアウトには作成者が1人だけ必要です。そのような検証を追加する最良の方法は何ですか?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
良いアイデアをありがとう) –