我的pb:我有18个模型,我想在子文件夹中拆分我的'models'文件夹。 有没有办法告诉rails在子文件夹中查找模型?
答案 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
您可以通过bar
和Foo::Bar
通过foo
访问模型Foo
。 Rails会自动加载/app/models
中的所有文件。因此不需要任何必要的配置。