我有一个控制器希望在另一个文件夹中包含一个文件,我该怎么做?我正在使用 Ruby 1.9.2 和 Rails 3.2.6。谢谢
控制器文件在
/project/app/controllers/examples_controller.rb
并且所需的文件在
/project/example_folder/example.rb
我有一个控制器希望在另一个文件夹中包含一个文件,我该怎么做?我正在使用 Ruby 1.9.2 和 Rails 3.2.6。谢谢
控制器文件在
/project/app/controllers/examples_controller.rb
并且所需的文件在
/project/example_folder/example.rb
require File.join(Rails.root, "example_folder", "example")
假设 /projects/ 是您的 Rails 应用程序根文件夹
根据这里
更多信息在这里为什么 Ruby 1.9.2 删除“。” 来自 LOAD_PATH,还有什么替代方法?
requie_relative '../../example_folder/example.rb'
您可以使用您想要的类和模块自动加载自定义目录。
所以你可以编辑config/application.rb
# Custom directories with classes and modules you want to be autoloadable.
config.autoload_paths += %W(#{config.root}/example_folder)
它会是这样的:
require "#{Rails.root}/example_folder/example.rb"
就在您的控制器声明之前。