Я пытаюсь засеять мою базу данных проектом с уникальным названием проекта, однако моя сеялка не работает так, как я предполагал.Посев уникальными объектами
Seed.rb
users = User.order(:created_at).take(6)
50.times do |n|
name = "project-#{n+1}"
category = "category-#{n+1}"
users.each { |user| user.projects.create!(name: name, category: category) }
end
Если удалить validates :name, presence: true, uniqueness: true
это создаст 50 проектов для каждого пользователя от 1 до 50, а затем для следующего пользователя будет делать то же самое (количество сбросов) и будет создавать проекты с заголовки от 1 до 50, что мешает правилу проверки.
Любые идеи?
Вопреки тому, что Вы сказали в своем вопросе он не создает 50 проектов для пользователя, то перейти к следующему пользователю. Вы оцениваете имя проекта и категории, а затем создаете проект для каждого пользователя (6 раз) для каждой итерации. Как сказал Алекс, вам необходимо предоставить дополнительные возможности для названия, как предлагает его ответ. – David