Tôi đang cố gắng tham khảo Rails.root trong ứng dụng của tôi.rb nhưng nó là không, tại sao vậy?Tại sao Rails.root của tôi là nil?
Trả lời
Bạn đang sử dụng Rails 3.x? Nếu không, bạn nên sử dụng RAILS_ROOT
thay vì Rails.root
.
Ngay cả 'RAILS_ROOT' là' nil' trong 'application.rb' –
Tôi gặp vấn đề tương tự khi tôi cố gắng sử dụng nó trước khi khai báo mô-đun và lớp học. Hãy thử sử dụng nó bên trong và xem điều đó có tạo nên sự khác biệt không, ví dụ:
module MyApp
class Application < Rails::Application
puts Rails.root
end
end
Tôi có thể giải thích lý do, nhưng tôi không thể giải quyết cho bạn.
Rails.root
được định nghĩa trong rails/railties/lib/rails.rb
def root
application && application.config.root
end
Trong application.rb
, trường hợp của application
chưa được tạo ra, vì lớp Application
đang được định nghĩa ... Ứng dụng này chỉ được khởi tạo sau đó, trong environment.rb
:
# Load the rails application
require File.expand_path('../application', __FILE__)
# Initialize the rails application
Testapp::Application.initialize!
EDIT
Giải pháp thay thế ngay trước mắt chúng tôi:
my_rails_root = File.expand_path('../..', __FILE__)
- 1. Tại sao self.navigationItem.backBarButtonItem luôn là nil?
- 2. Tại sao là 'tên' nil cho debug.getinfo (1)
- 3. Tại sao `a = a`` nil` trong Ruby?
- 4. Trong Ruby, tại sao một sự bình đẳng với nil ("Date.new == nil") trả về nil?
- 5. Tại sao tất cả các lệnh của tôi đều trả về => nil?
- 6. Tại sao không phải là TimeSpan.Add() của tôi hoạt động?
- 7. Tại sao tôi nhận được một phương thức undefined `join 'cho nil: NilClass error?
- 8. Tại sao chọn tự! = Nil in -init khi nhắn tin nil không có hiệu lực?
- 9. Tại sao `bố cục nil` không hoạt động?
- 10. Tại sao chúng ta phải đặt biến __block thành nil?
- 11. Mục tiêu-C: Tại sao chọn nil trước respondsToSelector :? đang
- 12. Tại sao mảng NSArray arrayWithObjects yêu cầu kết thúc nil?
- 13. Tại sao khu vực luôn luôn là nil trong khi triển khai NSCopying?
- 14. Tại sao (các phím "") trả về nil trong Clojure, trong khi (khóa "abc") là một lỗi?
- 15. Rails.root filepath kí tự đại diện
- 16. UIViewController IBOutlets là nil
- 17. Rails Devise - current_user là nil
- 18. Tại sao System.nanoTime() của tôi bị hỏng?
- 19. Tại sao amazon s3 của tôi chậm?
- 20. Tại sao bóng của tôi biến mất?
- 21. Tại sao MPMoviePlayerController của tôi không phát?
- 22. tại sao runnable của tôi cho ANR?
- 23. Tại sao thực thểAspect của các mục truy vấn của tôi là rỗng?
- 24. Tại sao chiều cao của thẻ div của tôi được tính là 0 trong Chrome?
- 25. Tại sao IBOutlet của tôi được phát hành theo ARC?
- 26. NSSet của NSNumbers - phương pháp thành viên luôn là nil
- 27. Tại sao tôi cần truyền tự id?
- 28. AF_INET là gì và tại sao tôi cần nó?
- 29. Tại sao NSUserDefaults không muốn lưu NSDictionary của tôi?
- 30. Tại sao các nút gốc của tôi kết thúc với chính chúng như là parent_id với actions_as_tree?
Rails đã khởi động chưa? – Reactormonk
có, nó tải tốt, nhưng khi nó trả về null, ngay cả trong giao diện điều khiển đường ray. – Blankman
@Blankman: đây là câu hỏi mà bạn có thể chấp nhận. –