我在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的最佳做法是什么?
感谢。
答案 0 :(得分:2)
路径必须在有效之前展开。 ~
是“主目录”的shell短手,但它对加载器没有任何意义。
试试这个:
$: << File.expand_path("~/svn/ruby/rails/framework-rails-jxcommon/app/models")
将这类内容烘焙到您的程序中可能是一个坏主意,它会将其锁定到您的本地组织方法。
另一种方法是使其相对:
$: << File.expand_path("../framework-rails-jxcommon/app/models")
不要忘记require
采用字符串参数,而不是类。