Rails:更改模型默认路径

时间:2013-10-25 16:02:22

标签: ruby-on-rails configuration

我的pb:我有18个模型,我想在子文件夹中拆分我的'models'文件夹。 有没有办法告诉rails在子文件夹中查找模型?

2 个答案:

答案 0 :(得分:1)

是的,非常简单:

结构:

app/
  models/
    widgets/
      user_widget.rb
    user.rb

型号:

class Widgets::UserWidget < ActiveRecord::Base
end

class User < ActiveRecord::Base
end

对于记录,它对libs的工作方式也是一样的:

结构:

lib/
  dsl/
    comments_dsl.rb
  tasks/
  graph.rb

类:

class Graph
end

class DSL::CommentsDSL
end

答案 1 :(得分:0)

您可以让您的模型结构如下:

# /app/models/foo.rb
class Foo < ActiveRecord::Base
  ..
  has_many :bars, class_name: Foo::Bar
end

# /app/models/foo/bar.rb
class Foo::Bar < ActiveRecord::Base
  ..
  belongs_to :foo
end

您可以通过barFoo::Bar通过foo访问模型Foo。 Rails会自动加载/app/models中的所有文件。因此不需要任何必要的配置。