2012-06-19 36 views
7

Tôi có ứng dụng RoR này gọi tới RAILS_ROOT. Khi chạy nó bằng cách sử dụng máy chủ đường ray (hoặc khi kiểm tra với ./script/console) giá trị chứa gốc của ứng dụng. Khi triển khai và chạy nó với Heroku, tuy nhiên (hoặc khi kiểm tra với heroku console), đường dẫn trả về là '/ app'.Heroku: RAILS_ROOT trả về thư mục ứng dụng thay vì thư mục gốc

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

Cảm ơn

+0

Rails.root trở lại là gì? –

+0

Không có gì. Tôi đang sử dụng Rails 2.3.5, vì vậy Rails.root không tồn tại ở đó. Thật không may, tôi không thể nâng cấp môi trường. – Miki

Trả lời

21

Bởi vì trên Heroku ứng dụng của bạn trong /app thư mục (từ gốc /). KHÔNG PHẢI là thư mục ứng dụng của ứng dụng của bạn, là /app/app.

Cấu trúc tập tin là:

/app/app/... 
/app/config/.. 
/app/Gemfile 
... 

Bạn có thể thực hiện một thử nghiệm.

Chạy bảng điều khiển heroku và khám phá cấu trúc tệp.

> heroku console 
> puts `ls` 
> puts `pwd` 
+0

Cảm ơn bạn :) Sau khi tìm ra (sử dụng 'heroku run bash' thay vì 'heroku console'), tôi đã tìm ra được vấn đề - một cuộc gọi tập tin sai lầm lén lút được tạo ra trong trường hợp cực đoan. – Miki

+0

Cảm ơn ... Tôi ước tôi có thể cung cấp cho bạn 10 upvotes cho việc này! –

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