Ich habe Probleme beim Erstellen (oder sogar Update) eines Datenbankeintrags, weil sowohl der Name der übergeordneten Klasse als auch der Name einer Attribut sind gleich. Ich verwende eine konsolidierte Datenbank, daher kann ich die Tabellen nicht ändern.Rails - Kann keinen Datensatz mit einem Attribut mit dem gleichen Namen der Klasse erstellen
Ich habe eine Klasse Periode mit einem Attribut 'Zeitraum'. Eine Periode hat viele Steuermaßstäbe.
#period model
has_many :tax_scales,
foreign_key: 'period',
primary_key: 'period'
#tax_scale model
belongs_to :period,
foreign_key: :period,
primary_key: :period
Also, wenn ich diese Ansicht in meinem tax_scale verwenden:
#new.html.haml
= f.label :period
= f.number_field :period
ich diesen Fehler:
Period(#97477176) expected, got String(#8598408)
Mein Controller params sind:
params.require(:tax_scale).permit(:minimum, :maximum, ..., :period)
Wie kann ich einen tax_scale rec bearbeiten (oder erstellen) erfolgreich?
Es gibt nur eine Möglichkeit, den Attributnamen zu ändern. – Pavan
Auch wenn möglich, warum mache ich es unnötig verwirrend? –
Die Datenbank wird von anderen Personen und Systemen verwendet. Ich kann das Schema nicht ändern – rogeryc