2017-03-08 3 views
0

Mit has_manybelongs_to oder einen der Verbände:Rails has_many/BELONG_TO Verbände

  1. Spielt es eine Rolle, welche Gegenstand der beiden Modelle wird zuerst erstellt?
  2. Gibt es eine Konvention, welche zuerst erstellt werden sollte?
+1

Nein und Nein - es ist egal, welche Sie erstellen zunächst – gwalshington

Antwort

1

Nein, es spielt keine Rolle, welcher zuerst erstellt wird, da Rails die richtige Reihenfolge für Sie löst.

Im Falle eines belongs_to/has_one Verein

class Parent < ActiveRecord::Base 
    has_many :children 
end 

class Children < ActiveRecord::Base 
    belongs_to :parent 
end 

p = Parent.new(name: 'Jhon') 
p.children << Children.new 
p.save 
(0.3ms) BEGIN 
SQL (27.1ms) INSERT INTO `parents` (`name`) VALUES ('Jhon') 
SQL (23.1ms) INSERT INTO `childrens` (`parent_id`) VALUES (7842) 
(95.0ms) COMMIT 
-1

Sie sprechen von einer zu vielen Beziehung.

Parent has_many Children und Child belongs_to Parent

+1

sich die Frage gar nicht beantworten. – gwalshington

0

Die Beziehungen sind in den Modellen eingerichtet, nachdem die Tabellen erstellt werden. Daher ist es egal, in welcher Reihenfolge Sie die tatsächlichen Tabellen erstellen.

Ich werde in der Regel erstellen die dominanter der beiden ersten, wie Benutzer erstellen, und dann alle Beziehungen nach. Aber wieder gibt es keinen Grund, einen Auftrag zu haben, sie zu erstellen.