J'ai créer un nouveau dossier comme ceci:
truck = Truck.create(:name=>name, :user_id=>2)
Ma base de données actuellement plusieurs milliers d'entités pour le camion, mais je lui ai donné la carte d'identité pour plusieurs d'entre eux, d'une manière qui a laissé quelques id est disponible. Donc ce qui se passe est de rails crée élément avec id = 150 et il fonctionne très bien. Mais alors qu'il tente de créer un article et de l'attribuer id = 151, mais que l'id n'existe pas déjà, donc je vais voir ce message d'erreur:
ActiveRecord::RecordNotUnique (PG::Error: ERROR: duplicate key value violates unique constraint "companies_pkey"
DETAIL: Key (id)=(151) already exists.
Et la prochaine fois que je lance l'action, il sera tout simplement attribuer l'id 152, qui fonctionnera bien si cette valeur n'est pas déjà pris. Comment puis-je obtenir rails pour vérifier si l'ID existe déjà avant qu'il assigne?
Merci!
MODIFIER
Le Camion id est ce qui est dupliqué. L'utilisateur existe déjà et qui est une constante dans ce cas. C'est en réalité un héritage question que j'ai à traiter. Une option est de re-créer la table à laisser rails auto attribuer chaque id, cette fois. Je commence à penser que ce pourrait être le meilleur choix parce que je suis un peu d'autres problèmes, mais la migration pour le faire ce serait très compliqué, parce que le Camion est une clé étrangère dans de nombreux autres tables. Y aurait-il un moyen simple d'avoir des rails de créer une nouvelle table avec les mêmes données déjà stockées en vertu de Camion, auto-attribué ID et le maintien de toutes les relations existant?