如何在rails的上下文中添加路径到ruby的LOAD_PATH?

时间:2013-12-07 08:35:48

标签: ruby-on-rails ruby

我在rails项目之外写了一堂课。但是我没能让我的AR模型类文件找到它。

$: << "~/svn/ruby/rails/framework-rails-jxcommon/app/models"
require JXAttributeMethods

class Topic001 < ActiveRecord::Base
  include ::JXAttributeMethods

  attr_enum :tag ["aaa", "bb", "xxx"]

end

在rails的上下文中将路径附加到ruby的LOAD_PATH的最佳做法是什么?

感谢。

1 个答案:

答案 0 :(得分:2)

路径必须在有效之前展开。 ~是“主目录”的shell短手,但它对加载器没有任何意义。

试试这个:

$: << File.expand_path("~/svn/ruby/rails/framework-rails-jxcommon/app/models")

将这类内容烘焙到您的程序中可能是一个坏主意,它会将其锁定到您的本地组织方法。

另一种方法是使其相对:

$: << File.expand_path("../framework-rails-jxcommon/app/models")

不要忘记require采用字符串参数,而不是类。