・ Schienen 6.0.3.2 ・ MySQL Ver 14.14 Distrib 5.6.47 ・ Osx10.15
Wenn Sie "Contoller" mit "Rails" lernen, lernen Sie "Active Record" -Methoden wie "new", "save", "create", "destroy". Zu dieser Zeit habe ich gelernt, dass die "create method" "new" + "save" ist.
Als Anfänger habe ich falsch verstanden, dass "dann" erstellen "einfacher und leichter zu sehen ist, also benutze ich Kochi!". Und als ich meine eigene App erstellte, funktionierte es manchmal nicht gut mit "erstellen". Ich werde schreiben, was ich damals gelernt habe.
Kurz gesagt, wann sollte man "new" + "save" verwenden, ohne "create method" in "create action" zu verwenden? Zum Beispiel die Beschreibung in der Steuerung
def create
@message = Message.create(message_params)
end
nicht
def create
@message = Messages.new(message_params)
@message.save
end
Hier.
def create
@message = Messages.new(message_params)
if @message.save
redirect_to(Anwendbarer Pfad)
else
flash.now[:alert] = 'Bitte geben Sie eine Nachricht ein.'
render :index
end
end
Wenn Sie "create" verwenden, wenn Sie eine bedingte Anweisung wie oben beschrieben verwenden, funktioniert die bedingte Anweisung nicht gut und die Operation funktioniert nicht gut, wenn die Erstellung nach "else" fehlschlägt.
Es gibt auch einen Punkt, an dem es einfacher ist zu erkennen, ob es viele Beschreibungen gibt.
Wenn Sie new
beschreiben, können Sie die zu diesem Zeitpunkt mit render
erstellte Instanzmethode verwenden. Obwohl dies im obigen Beispiel nicht der Fall ist, ist es besser, "neu" zu beschreiben, auch wenn Sie die: id erben und verwenden möchten.
Ich habe mich gefragt, wie sie sich unterscheiden würden, wenn sie sagen würden, dass sie dieselbe Bedeutung haben, und ich habe einige Fehler gemacht, also habe ich sie hier geschrieben.
Recommended Posts