ich zwei Modelle, die gerade haben, List
und Item
:Ruby on Rails Join-Tabelle mit Menge
class List < ApplicationRecord
has_and_belongs_to_many :items
end
class Item < ApplicationRecord
has_and_belongs_to_many :lists
end
Jede Liste has_and_belongs_to_many
Elemente und jedes Element has_and_belongs_to_many
Listen durch die items_lists
Tisch kommen.
Derzeit kann ich Elemente zur Liste hinzufügen, mit dem folgenden Code:
list.items.new(id: item.id)
Dies funktioniert gut, aber ich mag eine Menge des Artikels angeben, wenn es in die Liste aufgenommen wird.
Also, in der Join-Tabelle, fügte ich eine weitere Spalte namens quantity
, die eine Menge speichern sollte, die zeigt, wie viele der Artikel benötigt wird. Nach dem Hinzufügen der Menge Spalte habe ich versucht, den folgenden Code die Menge zusammen mit einem Element zu speichern:
list.items.new(id: item.id, quantity: 3)
Allerdings habe ich eine Fehlermeldung erhalten, die ActiveModel::UnknownAttributeError: unknown attribute 'quantity' for Item.
sagte Da die Art, wie ich falsch zu sein versucht, erscheint, Was sollte getan werden, damit eine Anzahl von Artikeln zu einer Liste hinzugefügt werden kann?