Ich habe zwei Modelle Person
und Car
und ich kann nicht das DB-Schema, die eine Fremdschlüsselspalte hat ändern car
nicht car_id
in der Persons
Tabelle genannt.Activeadmin Form mit einem benutzerdefinierten Fremdschlüsselspaltennamen
Bis jetzt ist es in Ordnung, weil ich die folgende Zeile in dem Person
Modell:
belongs_to :car, class_name: 'Car', foreign_key: 'car'
Und jetzt zum Beispiel, wenn ich Person.last.car
versuchte es ein Car
Objekt zurückgibt auf den Car ID
in dieser Spalte basiert.
Aber das Problem ist mit Activeadmin
denn wenn der Benutzer einen Person
Datensatz zu bearbeiten versuchte er den aktuellen Car
zu laden annehmen, und wählen Sie sie auf der Liste standardmäßig, aber es funktioniert nicht.
Mein Formular Code:
form do |f|
f.inputs 'Person Details' do
....
....
f.input :car
....
....
end
end
Und auch wenn ich jedes Auto ausgewählt und angeklickt einreichen, ich bin dieser Fehler auftritt Car(#97670400) expected, got String(#19439720)
Auch habe ich versucht, einen Alias für die Spalte zu machen, aber ohne Glück
alias_attribute :ca_id, :car
ich verwende Rails 5.0.2
und die neueste ActiveAdmin
.
Geradlinig und einfache Antwort würde den Namen 'car_id' sich ändern, aber wie Sie bestand darauf, try Ändern 'gehört_zu: Auto, Klassenname: 'Auto', Fremdschlüssel: 'Auto' zu' gehört_zu: Person_auto, Klassenname:' Auto ', Fremdschlüssel:' Auto' (nur Beispiel). Nicht sicher, obwohl. – Pavan
@Pavan Ich will, dass es zu 'Car' gehört, was ein anderes Modell ist, was meinst du mit' person_car'. –
Ich werde es später erklären. Hat es funktioniert? – Pavan