Rails - So finden Sie die Domain-URL in einem Layout

7

Ich hatte request.env['http_host'] , das auf localhost arbeitet, aber es verursacht einen Fehler, wenn in einer Layoutseite auf heroku referenziert wird.

Diese Anfrage funktioniert in einer Ansicht und zeigt die richtige Basis-URL an, verursacht jedoch einen Fehler, wenn ich den Code in das Layout verschiebe. Hinweis - Ich verwende dies, um absolute URLs für Bilder in HTML-E-Mails zu erstellen.

%Vor%

Fehler erhalten:

%Vor%     
Bob Cavezza 23.03.2012, 17:48
quelle

2 Antworten

15

Wenn Sie den Host ohne den Port möchten, verwenden Sie einfach:

%Vor%

edit: Hoppla, ich habe gerade bemerkt, dass Sie den Code in der Ansicht verwenden. Ich weiß nicht, ob es dort sichtbar ist, ich habe es nur in Controllern verwendet, aber das ist ziemlich einfach zu überwinden, indem man eine Instanzvariable setzt.

    
Castilho 23.03.2012, 18:08
quelle
5
  1. Setzen Sie in Ihrem Controller eine Instanzvariable, die dem Host entspricht:
    • @host = request.host
  2. Referenzieren Sie in Ihrer Ansicht die Instanzvariable mit
    • <%= @host %>
Marty Cortez 24.03.2012 04:40
quelle