rails 2.3 config.load_paths在开发模式下

时间:2010-07-30 07:55:04

标签: ruby-on-rails

我将一些文件移到app / models目录下的子文件夹中,并在config / environment.rb的config.load_paths中添加了这些目录:

config.load_paths += Dir["#{Rails.root}/app/models/extras"]
在app / models / extras中我有一些ActiveRecord模型,比如说:

应用程序/模型/演员/ blog_post.rb

class BlogPost < ActiveRecord::Base
  has_many :comments
end

应用程序/模型/演员/ comment.rb

class Comment < ActiveRecord::Base
  belongs_to :blog_post
end

现在当我调用一个只显示BlogPosts的页面(即。/ blog_posts /)时(不加载评论关联)一切正常 但是,如果我调用一个页面(即。/ blog_posts / 1),其中评论包含在查询中(例如,BlogPost.find(1,:include =&gt;:comments),我会收到以下错误:

Expected .../app/models/extras/comment.rb to define Extras::Comment

现在一切都在生产模式下工作正常,但不在开发中..任何人都有解决方案或解决方案?

1 个答案:

答案 0 :(得分:0)

我认为这是因为rails将模块结构映射到目录,因此,例如,它希望models / extras中的comment.rb实际上位于名称空间Extras中,即定义为Extras :: Comment。您应该能够通过在BlogPost或您需要的控制器中使用require to load语句手动加载目录