[RUBY] Kriterien für die ordnungsgemäße Verwendung von render und redirect_to

【Überblick】

1. Schlussfolgerung </ b>

2. Verwendung von </ b>

3. Warum tritt ein solcher Unterschied auf? </ B>

4. Was ich hier gelernt habe </ b>

  1. Fazit

Möchten Sie den Controller einklemmen oder möchten Sie ihn einmal einklemmen </ b>
2. Verwendung

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.

  1. Warum tritt ein solcher Unterschied auf?

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