过去两天我一直在尝试在新计算机(ruby 1.9.3.p0 和rails 3.2.6)上设置我的工作环境,当我尝试运行rails server 或Rails 控制台:
application.rb:7:in `require': cannot load such file -- acts_as_loggable/acts_as_loggable (LoadError)
这就是我的 application.rb 的样子:
require File.expand_path('../boot', __FILE__)
require 'acts_as_loggable/acts_as_loggable'
require 'acts_as_abusable/acts_as_abusable'
require 'acts_as_luba/acts_as_luba'
module MyProgram
class Application < Rails::Application
config.active_record.schema_format = :ruby
# Custom directories with classes and modules you want to be autoloadable.
config.autoload_paths += %W(#{config.root}/lib/)
config.autoload_paths += %W(#{config.root}/app/models/game_mechanics)
config.autoload_paths += Dir["#{config.root}/app/admin/"]
config.autoload_paths += Dir["#{config.root}/app/models/"]
config.active_record.pluralize_table_names = true
config.action_view.sanitized_allowed_attributes = ['data-link']
我的acts_as_loggable.rb 文件位于lib/acts_as_loggable 中。我的所有其他文件都加载正常,除了我留在 application.rb 代码示例中的 3 个文件。
如果我对路径/目录进行硬编码(见下文),我的应用程序就可以运行。
require './lib/acts_as_loggable/acts_as_loggable'
require './lib/acts_as_abusable/acts_as_abusable'
require './lib/acts_as_luba/acts_as_luba'
有人知道发生了什么以及如何让我的应用程序在没有硬编码路径的情况下工作吗?
谢谢。
最佳答案
您的 require
位于 config.autoload_path
之前。
关于ruby-on-rails - 无法加载位于 lib 目录中的此类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12701088/