Вот так выглядит моя модель
User
belongs_to :computer
Computer
has_many :user
Пользователи создаются, когда люди регистрируют учетную запись на веб-сайте, но на компьютерах предварительно загружаются данные, которые я создаю в seed.rb / some .rake.файл.Все хорошо, когда приложение запускается впервые, и люди начинают регистрироваться и связываются с правильным computer_id.Однако предположим, что я хочу добавить еще один компьютер в список
Computer.destroy_all
Computer.create({:name => "Akane"})
Computer.create({:name => "Yoda"})
Computer.create({:name => "Mojito"}) #newly added
, когда второй раз запускается файл rakefile, что приведет к путанице ассоциаций, поскольку computer_id в таблице User ссылается на старый идентификатор в таблице Computer.Поскольку я запустил сценарий выше, идентификатор внутри таблицы компьютеров продолжает увеличиваться, не принимая во внимание связь с ним пользователя.Теперь все пользователи не будут иметь никаких ссылок на свой компьютер, и все компьютеры теперь имеют новые идентификаторы.
Вопрос: Есть ли лучший способ для меня предварительно загрузить данные, не испортив мою связь?Я хочу иметь возможность добавлять новый компьютер без необходимости уничтожения таблицы пользователя.Уничтожить компьютерный стол - это хорошо для меня и восстановить его снова, но старая связь, существующая у существующих пользователей, должна остаться неизменной.