2010-11-22 29 views
16

Cả hai vật thể dường như không nằm trong bảng điều khiển 'ray'.Rails.env và Config.root có hoạt động trong mô hình 'giao diện điều khiển đường ray' không?

Tại sao lại như vậy?

thực tế bây giờ Rails công trình:

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

nhưng đối với cấu hình:

puts config.root 

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

Điều này không đúng đối với tôi. Tôi muốn hỏi thêm thông tin để giúp bạn gỡ lỗi, nhưng tôi không chắc chắn thông tin nào sẽ yêu cầu. Bạn có chắc là bạn đang ở trong ứng dụng Rails 3 không? – Matchu

+0

Rails.env và Rails.root hoạt động cho tôi trong bảng điều khiển của cả Rails 3.0.1 và 2.3.10. Như Matchu nói, nhiều thông tin gỡ lỗi hơn sẽ có giá trị. –

Trả lời

41

Không có phương pháp config toàn cầu. Nếu bạn đang sao chép tệp này từ các tệp môi trường của mình trong Rails 2, lưu ý rằng chúng thực sự được đánh giá trong một ngữ cảnh nhất định.

Để đến được với các đối tượng config từ giao diện điều khiển của bạn, hãy thử một trong những cách sau:

Đối với Rails 3 trở lên:

Rails.application.config 

Đối với Rails 2.x:

Rails.configuration 

Nếu bạn cần lấy thư mục gốc của dự án (không chắc chắn đây có phải là những gì bạn đang thực hiện), bạn có thể làm như sau trong Rails 2 và ở trên:

Rails.root 
+0

cảm ơn hữu ích! – jpwynn

+1

'Rails.application.config' cũng hoạt động cho Rails 4.x – Kris

Các vấn đề liên quan