Ich möchte zum Erstellen von Objekten mit Polymorphe Verein verwenden, aber es gibt mir eine Fehlermeldung wie:So erstellen Objekte Schienen polymorphe Assoziation
NoMethodError (undefined method `new' for nil:NilClass):
Hier sind params:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"TAQdqSTXAFCrq6yZBUnjVXe7IsPqmxuLh/qM/2QvKaVvsfP
/Sy6VNF7H38IzOg8aMj39t6HR+aZLLtyj8uMzyw==", "search"=>"Newport-Mesa Unified
School District", "id"=>"32", "type"=>"PrivateSchool", "commit"=>"Submit"}
Hier sind Modelle:
Steuerungscode:
def index
@popular_school = PopularSchool.new
@popular_schools = PopularSchool.all
end
def create
@popular_school.new.save
respond_to do |format|
format.html { redirect_to root_path }
format.json { head :no_content }
format.js
end
end
'@ popular_school' in' nil' in 'create' Aktion versuchen. Stattdessen sollte es @popular_school = PopularSchool.new (params) sein. – Deep
@Deep Müssen wir wieder Parameter definieren? Es ist polymorph und sollte automatisch funktionieren, da ich keine anderen Parameter übergebe. Könnten Sie bitte erklären? – LearningROR
Sie definieren die Parameter nicht. Die 'Params' sind die Daten, die Sie von der Ansicht erhalten. Mit diesen Daten erstellen Sie ein neues Objekt und speichern es in der Datenbank. Die '@ popular_school', die Sie in der Aktion 'index' erstellt haben, ist in keiner anderen' Aktion' mehr verfügbar, die nur in der Ansicht verfügbar ist. – Deep