Ich möchte nach einem bestimmten Prozess mit der von Rails entwickelten Flima-App zur URL der Übergangsquelle zurückkehren (umleiten). Speziell ↓
Ursprünglich wechselte der Bildschirm nach der Registrierung von Creca zu dem Bildschirm, auf dem Karteninformationen angezeigt wurden. Dies war ein sehr unfreundliches Verhalten für Benutzer, die das Produkt, das sie erneut kaufen wollten, finden und den Kaufknopf drücken mussten.
Klicken Sie auf der Produktseite auf die Schaltfläche Kaufen → Übergang zum Creca-Registrierungsbildschirm (wenn Creca nicht registriert ist)
Creca-Registrierung → Übergang zum Bildschirm, um die registrierten Karteninformationen anzuzeigen
Dies ist nicht einfach zu bedienen, und das Produkt, das Sie gekauft haben, befindet sich möglicherweise in einer Situation, in der "Wow, es ist mühsam, es wieder zu finden. Ich möchte es nicht kaufen." Also suchte ich nach einer Lösung. Ich habe es gut gelöst, also werde ich es beschreiben.
Ruby 2.5.1 Rails 5.2.4
request.referer
Die Beschreibung selbst ist wahnsinnig einfach.
creditcards_controller.rb
def create
render :new if params[:payjpToken].blank?
customer = Payjp::Customer.create(card: params[:payjpToken])
@card = Card.new(user_id: current_user.id, payjp_id: customer.id)
@card.save ? (redirect_to request.referer) : (render :new) #Diese Linie! !! !!
end
In der Zeile über dem Ende habe ich "redirect_to request.referer" geschrieben, aber damit erhalte ich die URL (HTTP-Referrer), bevor ich zum Kartenregistrierungsbildschirm (Kreditkarten / neu) übergehe und sie umleitung. ..
Kartenregistrierung → Kehren Sie zu der Seite zurück, die Sie kaufen wollten → Jetzt kaufen!
Ich konnte es so lösen.
(Übrigens, ? (): ()
Ist ein ternärer Operator. Weitere Informationen finden Sie in Mr. Itos Qiita ([[Für Anfänger] Redewendungen und nützliche Methoden, die für das Refactoring in Ruby und Rails verwendet werden können) (https: // qiita.com/jnchito/items/dedb3b889ab226933ccf))
Klicken Sie hier für Rails Anfrage
.
[[Rails Guide] 10 Anforderungs- und Antwortobjekte](https://railsguides.jp/action_controller_overview.html#request%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7 % E3% 82% AF% E3% 83% 88% E3% 81% A8Response% E3% 82% AA% E3% 83% 96% E3% 82% B8% E3% 82% A7% E3% 82% AF% E3 % 83% 88)
Ich denke, Sie sollten über Referer (Referrer) und HTTP-Referral googeln.