/ / Rails Migration Generiertes Join Table Schema, aber keine Datei - Ruby-on-Rails, Ruby-on-Rails-4, Rails-Migrationen, Rails-Modelle

Rails Migration Generiertes Join Table Schema, aber keine Datei - Ruby-on-Rails, Ruby-on-Rails-4, Rails-Migrationen, Rails-Modelle

Ich habe eine Join-Tabelle für eine HABTM-Assoziation in meiner Rails-App erstellt. Sie hat die Tabelle im Schema erstellt, jedoch nie eine Modelldatei in der App generiert. Wird es noch funktionieren? Warum hat es keine Datei erzeugt?

Hier ist meine Migration:

class CreateBooksAuthorsJoinTable < ActiveRecord::Migration
def change
create_table :books_authors, id: false do |t|
t.integer :book_id
t.integer :author_id

t.timestamps
end
end
end

Modelle

class Book < ActiveRecord::Base
has_and_belongs_to_many :feeds
end

class Author < ActiveRecord::Base
has_and_belongs_to_many :posts
end

Antworten:

1 für die Antwort № 1

Sie müssten explizit ein Modell generieren; Es tritt nicht als Nebenprodukt beim Erstellen einer Join-Tabelle auf.

EIN has_and_belongs_to_many Assoziation benötigt eigentlich keine Modellklasse, die die Assoziation darstellt. Es soll nur eine Join-Tabelle sein, also ist das, was Sie eingerichtet haben, genau richtig.

Die andere Option für solche Vereinigungen ist a has_many through: Assoziation, die eine intermediate oder join-Klasse verwendet. Dies wird detaillierter in der Schienenführer für Verbände. Sie müssten dieses Beitrittsmodell jedoch selbst generieren.