Theo mặc định, khi bạn gọi là "đòi hỏi", Rails sẽ tìm trong (từ nguồn cạnh Rails):
ứng dụng app/kim loại ứng dụng/mô hình app/controllers app/người giúp đỡ app/dịch vụ lib nhà cung cấp
Vì mục đích đơn giản, hãy đặt tệp vào lib/và yêu cầu theo tên trong config/environment.rb của bạn hoặc bạn có thể đặt nó trong config/initializers/array_extension.rb và ' sẽ được tải tự động.
Nơi tôi làm việc, chúng tôi đã đặt tất cả các phần mở rộng của chúng tôi vào thư viện Ruby cốt lõi thành một plugin và lưu trữ nó trong (Rails.root /) vendor/plugins/utilities/lib/core_ext, và sau đó chúng tôi yêu cầu các phần mở rộng riêng lẻ trong init.rb. của plugin
Một cách để da mèo này: nếu bạn nói, muốn để lưu trữ các phần mở rộng cốt lõi của bạn trong Rails.root/core_ext, sau đó bạn có thể thêm đường đó như là một con đường tải trong khối cấu hình của bạn trong environment.rb:
Rails::Initializer.run do |config|
config.load_paths << 'core_ext'
end
Sau đó, bạn có thể gọi "require" array_extension '"từ bất kỳ đâu và nó sẽ tải.
Nguồn
2009-03-24 20:31:39
Đó là những gì tôi đang tìm kiếm, cảm ơn. Tuy nhiên, tôi thấy rằng điều này chỉ hoạt động khi tôi đặt dòng yêu cầu ở dưới cùng của config/environment.rb – inglesp
Bạn may mắn khi có được Hash và Array trong môi trường của bạn. –