Ich habe zwei Modelle: (Alben und Produkt)Verband Erstellen zwischen zwei instancied Objekte
1) Innerhalb Modelle
Innen album.rb:
class Album < ActiveRecord::Base
attr_accessible :name
has_many :products
end
Innen product.rb:
2) Mit "Schienen Konsole", wie kann ich se t die Assoziationen (so kann ich "<% = Product.first.album.name%>") verwenden?
z.B.
a = Album.create(:name => "My Album")
p = Product.create(:name => "Shampoo X")
# what's next? how can i set the album and the product together?
Wenn Sie den '_id' zugänglich addieren, dann können Sie nur den ID-Wert halten, wie Sie es instanziiert:' Product.create (name: "Shampoo", album_id: a.id) ' – bdares
@bdares Um _id hinzuzufügen, muss ich nur' attr_accessible: img,: name,: price,: quantity,: _id', oder? Allerdings gibt es mir diesen Fehler, 'ActiveModel :: MassAssignmentSecurity :: Fehler: Kann nicht geschützt Attribute zuweisen: album_id' –
@MrYoshiji, Für' p.album = a', funktioniert es vorübergehend, aber wenn ich wiederöffne die Konsole, das p.album wird zu "nil". Für 'p.album_id = a.id' gibt es diesen Fehler,' NoMethodError: undefinierte Methode 'album_id =' '. Für "a.products << p" gibt es diesen Fehler, "RuntimeError: kann eingefrorenen Hash nicht ändern". Muss ich beide Modelle regenerieren? Danke euch allen! –