2010-11-22 11 views
16

Her iki nesne de 'ray konsolunun' içinde sıfır olarak görünüyor.Rails.env ve Config.root, 'raylar konsolu' modelinde çalışır mı?

Neden?

Aslında şimdi işleri Raylar:

puts Rails.env 
/path/to/my/project 

ama config

:

puts config.root 

NameError: undefined local variable or method `config' for #<Object:0x1001dd2a0> 
    from (irb):8 
+0

Bu benim için doğru değil. Hata ayıklamanıza yardımcı olacak daha fazla bilgi isterdim, ancak hangi bilgilerin sorulacağından emin değilim. Rails 3 uygulamasında olduğundan emin misin? – Matchu

+0

Rails.env ve Rails.root, Rails 3.0.1 ve 2.3.10 her iki konsolunda da çalışır. Matchu'nun dediği gibi, daha fazla hata ayıklama bilgisi değerli olacaktır. –

cevap

41

hiçbir küresel config yöntemi yoktur. Bunu Rails 2'deki ortam dosyalarınızdan kopyalıyorsanız, bunların aslında belirli bir bağlam içinde değerlendirildiğini unutmayın.

konsoldan config nesneye almak için aşağıdakilerden birini deneyin:

Raylar 3 için ve yukarıda

: Raylar 2.x için

Rails.application.config 

:

Rails.configuration 

Projenizin kök dizinini almanız gerekiyorsa (bunun gerçekten yapmaya çalıştığınız şey olup olmadığından emin değilseniz) aşağıdakileri Rails 2'de ve üstte gerçekleştirebilirsiniz:

Rails.root 
+0

Yardımcı teşekkürler! – jpwynn

+1

'Rails.application.config' da Rails 4.x için çalışıyor – Kris

İlgili konular