ruby-on-rails - 无法加载位于 lib 目录中的此类文件

标签 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

过去两天我一直在尝试在新计算机(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/

相关文章:

ruby-on-rails - 如何将字符串插入文本文件

ruby-on-rails - 编辑 Rails 脚手架类以添加新字段

ruby-on-rails-3 - 配置 Rails 3 + 多态图像模型 + Paperclip 和 Amazon S3,没有错误,但没有上传

ruby-on-rails - 如何在Rails 3应用程序中列出所有定义的环境?

ruby-on-rails - 让 Rails 在子目录中查找 .mobile 文件?

ruby-on-rails - 在 Ruby on Rails 中使用索引键获取数组值

ruby-on-rails - 'cucumber' 可以运行我的 rspec-on-rails 测试吗?

javascript - Rails 在 javascript 调用后更新 DIV(从模型重新加载)

ruby-on-rails - 在 Rails 3.2.1 中构造 link_to

jquery - Rails 3.2 中 js 文件放置的位置