Was ist der Unterschied zwischen redirect_to und render? Wie benutzt man? Diejenigen, die es wissen, sich aber nicht in ihren Gedanken organisieren können
Die Aktion im Rails-Controller wird endgültig gerendert und gibt eine Ansicht zurück. Mit anderen Worten, für jede ** Aktion wird immer 1 Render ** ausgeführt.
def index
end
Dies entspricht dem aktivierten Render-Index.
Wenn das Rendern zweimal verarbeitet wird
def show
~~
if ~~
~~
render 'index'
end
render 'show'
end
Die Lösung besteht darin, eine Rendite zu erzielen
def show
~~
if ~~
~~
render 'index'
return
end
render 'show'
end
render Eine Methode, die die Ansicht angibt, die in der Aktion aufgerufen werden soll. Das heißt, ** Sie können alles andere als die standardmäßig aufgerufene Ansicht aufrufen. ** ** ** Das Format der aufzurufenden Ansicht ist das RHTML-Format (.html / html.erb usw.)
--Wenn Sie eine andere Aktionsansicht auf demselben Controller aufrufen
microposts_controller.rb
def index
render 'edit'
render :edit
end
microposts_controller.rb
def index
render "users/show"
render template: "users/show"
end
microposts_controller.rb
def index
render "/warehouse_app/app/views/products/show"
render file: "/warehouse_app/app/views/products/show"
end
redirect_to Eine Methode, die eine GET-Anforderung an die angegebene URL sendet. Mit anderen Worten, wenn innerhalb einer Aktion aktiviert, ruft ** RCV erneut auf. ** ** **
microposts_controller.rb
def index
redirect_to root_url
end
microposts_controller.rb
def index
redirect_back(fallback_location: root_path)
end
Schienenrichtlinien https://railsguides.jp/layouts_and_rendering.html#render%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B
@ 1ulce https://qiita.com/1ulce/items/282cccba1e44158489c8
@ morikuma709 https://qiita.com/morikuma709/items/e9146465df2d8a094d78
Recommended Posts