Ich versuche, eine HAS_MANY und ONETS_TO Beziehung auf Schienen mit einem Fremdschlüssel zu implementieren, aber ich habe Probleme mit dem Versuch, es richtig zu implementieren, würde jede Hilfe geschätzt werden. Ich benutze das auch als Anleitung: http://guides.rubyonrails.org/association_basics.htmlRails has_many und properties_to Beziehung mit Fremdschlüsselfehler
Die beiden Modelle sind Thema und Lektionen. Ein Fach hat viele Lektionen und eine Lektion gehört zu einem Fach. Der Fremdschlüssel ist subject_code.
Das Folgende sind die relevanten Codes.
Gegenstand Modell
class Subject < ActiveRecord::Base
:subject_code,
:subject_name
:lessons_attributes
has_many :lessons,
:foreign_key => "subject_code"
accepts_nested_attributes_for :lessons,
:allow_destroy => true
end
Die Lektion Modell.
Ich bin nicht sicher, wo ich mit dieser Implementierung falsch gelaufen bin, weil ich die Lektionen von einem Thema nicht abrufen kann. Meine Datenbanktabelle für Lesson hat bereits eine Spalte für subject_code.
Während Herumspielen, fand ich, dass, wenn für mein Thema Modell, das ich folgendes machen
has_many :lessons,
:foreign_key => "lesson_id"
konnte ich ändert die Information über die Lektionen, aber mit dem lesson_id gebunden an die subject_id abzurufen. Wenn der Fremdschlüssel jedoch in subject_code geändert wurde, hat es nicht funktioniert, und ich bin nur verwirrt, warum.
Jede Hilfe wäre willkommen.
entfernen Sie die ': foreign_key => "subject_code"' in 'Subject' Modell. – VenkatK
Ich bekomme diesen Fehler, wenn ich das tue.SQLite3 :: SQLException: keine solche Spalte: lesses.subject_id: SELECT "Lektionen". * FROM "Lektionen" WHERE "Lektionen". "Subject_id" = 8 –