代码之家  ›  专栏  ›  技术社区  ›  John Smith

种子,从外部文件运行代码

  •  0
  • John Smith  · 技术社区  · 11 年前

    我有一个名为 company.rb 在里面 数据库\公司.rb 。此文件应创建类的实例 Company 你怎么看。

    list = [["20", "ABC", ...
    list.each do |c|
      Company.create(:Key => c[0] ...
    end 
    

    现在我试着让这个文件运行 数据库\种子.rb 。我想如果我在这个文件中这样要求它,它就会被执行:

    require 'company'
    

    我做错了什么?或者我如何从 公司.rb 在我的 seeds 文件谢谢

    1 回复  |  直到 11 年前
        1
  •  2
  •   James Mason    11 年前

    这个 db 默认情况下,文件夹不会在加载路径中。你的 require 'company' 线路加载错误 company.rb 文件(可能是下面的文件 app/models ). 最简单的解决方案是使用 require_relative 'company' (假设你还没有运行Ruby 1.8)。你也可以:

    • 使用手动生成路径 _FILE_ #dirname .
    • 添加 数据库 到您的加载路径(不要这样做,这是个坏主意)