2012-03-23 22 views
7

vardı request.env['http_host'] etki alanı url bulmak olsun, ama Heroku bir düzen sayfa başvurulan zaman bir hataya neden nasıl.Raylar - localhost üzerinde çalışan bir düzen

Bu istek bir görünümde çalışır ve doğru temel URL'yi görüntüler, ancak kodu düzene taşıdığımda bir hataya neden olur. Not - html e-postalarındaki resimler için mutlak URL'ler oluşturmak için kullanıyorum.

<%= "#{request.env['HTTP_HOST']}/assets/email_header_image.png" %> 
    <%= image_tag "#{request.env['HTTP_HOST']}/assets/email_header_image.png" %> 

hata aldı:

ActionView::Template::Error (undefined method `env' for nil:NilClass): 
+0

A p Bu etrafında almak için geçici bir yol, dev vs prod için küresel ayarları ayarlamaktır. bu verilen örnekte olduğu gibi –

cevap

15

Eğer port olmadan ev sahibi istiyorsanız, sadece kullanın:

request.host 

düzenleme: Bir dakika, ben sadece kullandığınız fark ettik görünümdeki kod. Orada görülebilir mi bilmiyorum, sadece kontrolörlerde kullandım, ama bir örnek değişkenini ayarlayarak üstesinden gelmek oldukça basit. denetleyiciniz olarak

+2

'request' yanı görünümünde mevcut olması gerekmektedir. – tadman

5
  1. , konakçıya değişken eşit bir örneği set:
    • için görünümünde @host = request.host
  2. , örneğin değişken referans ile
    • <%= @host %>
İlgili konular