【问题标题】:YAML library not working in rails app?YAML 库在 Rails 应用程序中不起作用?
【发布时间】:2015-04-14 13:47:44
【问题描述】:

我在 app/lib 文件夹中有这段代码:

require 'yaml'

class YamlParser
  def parse
    data = YAML.load_file("#{Rails.root}/config/application.yml")
    require 'pry' ; binding.pry
    data[:production]
  end
end

YamlParser.new.parse

为什么它不起作用?我收到此错误消息:

uninitialized constant YamlParser::Rails (NameError)

【问题讨论】:

  • 您是否已自动加载文件,并且在使用此文件之前,您可能需要该文件。 require 'yaml_parser.rb'

标签: ruby-on-rails ruby yaml


【解决方案1】:

将此添加到您的application.rb

config.autoload_paths += %W(#{config.root}/lib)

【讨论】:

  • 但是我把我的文件放在 app/lib 中,应该急切地加载它吗?
  • 不,我认为它确实加载了 app/lib。我创建了一个 app/lib 文件夹。该帖子仅指直接 Rails.root/lib 文件夹。
  • 我的错!通过app/lib 我理解project_folder/lib。无论如何,我鼓励你使用project_folder/lib
【解决方案2】:

啊,我的 YamlParser 类位于一个名为“yaml_parse.rb”而不是“yaml_parser.rb”的文件中。我不擅长命名约定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 2014-01-13
    • 1970-01-01
    • 2017-09-28
    • 2017-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多