2009-06-22 11 views

Antwort

39
redirect_to "https://website.com" 

sollte es tun, solange das Protokoll enthalten ist. Für zusätzliche Flexibilität können Sie es mit URI analysieren, um sicherzustellen, dass alle Felder korrekt sind. URI.encode/URI.decode

+0

ich suche diese <% = redirect_to (post.link_url)% arbeiten> ich habe versucht ein paar verschiedene Möglichkeiten. Alles bekomme ich undefinierte Methode 'redirect_to ', wenn ich das versuche. – Aaron

+4

legen Sie es in eine Controller-Aktion. Es ist nicht etwas, was Sie aus einer Ansicht heraus tun können (gut sollte nicht, wenn Sie es aus einer Ansicht tun müssen, verwenden Sie '<% = javascript_tag (" window.location = # {url} ")%>' –

2

Erstellen Sie ein neues Modell, z. B. Link, um die URLs zu speichern, an die Sie umleiten möchten. Dann generieren Sie einen neuen Controller (Sie können scaffold verwenden, um Controller und Modell gleichzeitig zu generieren) und die Show-Aktion ändern, um den Datensatz mit der angegebenen ID und redirect_to @ link.url zu holen.

Wenn Sie die Aktion #show für diesen Schritt nicht verwenden möchten, erstellen Sie eine neue Aktion, die die Weiterleitung behandelt (z. B. goto, redirect ...).

0

redirect_to ist nicht in Ansichten verfügbar oder ist keine Hilfsmethode, stellen Sie sicher, dass Sie es in Ihren Controllern verwenden, aber wenn Sie wirklich von der Ansicht umleiten möchten, verwenden Sie die JavaScript-Lösung

window.location.href = <% = post.link_url%>

Verwandte Themen