Rails命名空间模型给出了未初始化的常量错误

时间:2015-05-14 20:10:44

标签: ruby-on-rails ruby namespaces

我在命名空间project中有两个模型,如:class Project::Fooclass Project::Bar

他们有这种关系

{p} app/models/project/foo.rb has_many :bars

中的

{p} app/models/project/bar.rb belongs_to :foo

中的

但是,当我想致电Project::Foo.create(...)甚至Project::Bar.create(...)时,我会分别获得NameErroruninitialized constant Foo Bar

我需要在模型中加入这样的东西吗? belongs_to :project::foo?或者我该如何解决这个问题?

修改

app/models/project/foo.rb中的

现在显示为:

module Project
  class Foo
    has_many :bars
  end
end

和条形图具有相同的结构,但其中包含belongs_to

我仍然得到同样的错误

1 个答案:

答案 0 :(得分:1)

如果你有Foo类,文件中的代码应该是

module Project #create the scope
  class Foo

  end
end 

或者您可以使用

定义文件project.rb
module Project
end

并在项目文件夹中保留相关模型