1. Schlussfolgerung </ b>
2. Verwendung von </ b>
3. Warum tritt ein solcher Unterschied auf? </ B>
4. Was ich hier gelernt habe </ b>
❶render
(i) Ich möchte nur die Ansichtsdatei angeben und anzeigen
controller.rb
def
render '***(Dateinamen anzeigen).index(Aktionsname) #---"a"
end
or
def
render :index(Aktionsname) #---"b"
end
Was ist der Unterschied zwischen "a" und "b" a➡︎ Ich möchte die Aktionen verschiedener Controller anzeigen b ➡︎ Ich möchte die Aktion desselben Controllers anzeigen, der das Rendern beschreibt Es bedeutet das.
(ii) Ich möchte dasselbe Programm in mehreren html.erb-Dateien verwenden
python
<%= render 'public/error_messages', model: f.object %> #---Auszug aus meinem Artikel
In dem obigen Fall wird die Meldung "Anforderungen wurden nicht eingegeben!" Angezeigt, wenn Sie leer in den Index "Neue Aktion anzeigen" eingeben. ( So löschen Sie die Fehlerbündelung )
❷redirect_to
(i) Ich möchte eine Aktion einmal durch die Controller-Verarbeitung ausführen
controller
def
redirect_to("/app/(Ordnername anzeigen)/(Aktionsname.html.erb)")
end
or
def
redirect_to ****_****_path
end
Mit anderen Worten bedeutet dies, die URL anzugeben.
Die Quintessenz ist, ob dazwischen ein "Controller wieder" liegt.
❶ Rendern ist für die Bewegung des Controllers ➡︎ Ansicht ❷ redirect_to ist Controller ➡︎routes.rb (ID basiert auf URL) ➡︎Controller ➡︎View Es wird eine Bewegung sein. Wenn Sie nur Rendern verwenden, wird nur die Seite "Nur" angezeigt, sodass die Verarbeitung möglicherweise problematisch ist und ein Fehler auftreten kann. Da redirect_to den Controller einmal einfügt, kann die Update- / Destory-Aktion ohne Fehler ausgeführt werden.
Recommended Posts