J'ai des tables qui ont une relation de plusieurs à plusieurs. J'ai créé la table correcte codesecure_project_tst_definition et cela fonctionne. Je peux joindre des lignes en appelant la méthode codesecure_projects < < sur un objet TstDefinition. Le problème est que, pour une raison quelconque, l'enregistrement actif veut utiliser Codesecure_project_id comme valeur d'identifiant pour la table codesecure_project_tst_definition. Qu'est-ce que je fais mal? Comment puis-je résoudre ce problème de sorte que lorsque j'appelle la méthode codesecure_projects < <, il n'essaie pas de définir l'ID de la table codesecure_project_tst_definition?Activerecode HABTM problème de clé primaire
J'ai posté les migrations ci-dessous
class CreateCodesecureProjects < ActiveRecord::Migration
def self.up
create_table :codesecure_projects do |t|
t.string :name
t.string :lang
t.timestamps
end
end
def self.down
drop_table :codesecure_projects
end
end
class CreateTstDefinitions < ActiveRecord::Migration
def self.up
create_table :tst_definitions do |t|
t.string :test_name
t.timestamps
end
end
def self.down
drop_table :tst_definitions
end
end
class CreateCodesecureProjectsTstDefinitions < ActiveRecord::Migration
def self.up
create_table :codesecure_projects_tst_definitions do |t|
t.references :codesecure_project
t.references :tst_definition
t.timestamps
end
end
def self.down
drop_table :codesecure_projects_tst_definitions
end
end
Les parties pertinentes des modèles:
class TstDefinition < ActiveRecord::Base
has_and_belongs_to_many :codesecure_projects
has_many :tst_datas
class CodesecureProject < ActiveRecord::Base
has_many :input_abstractions
has_and_belongs_to_many :tst_definitions
Pouvez-vous nous montrer les définitions de classe avec les lignes d'association dans? – Gareth
Je ne pouvais pas comprendre le problème .. Post tableaux Schéma .. comme Gareth a dit .. poster les classes de modèle AR pourrait aider – Gishu