Rails命名具有相同类名的关系

时间:2014-01-06 05:46:58

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4

我有两个这样的课程:

class User < ActiveRecord::Base
  has_one :my_user, class_name: 'My:User'
end

class Mynamespace::User < ActiveRecord::Base
  belong_to :user
end

这里的问题是从User我可以通过User.find(1).my_user获取my_user对象,但反之则不然:

Mynamespace::User.find(1).user最终得到了My:User对象。

我也尝试了这个,但这也不起作用。

class Mynamespace::User < ActiveRecord::Base
  belong_to :user_parent, :class_name => 'User', :foreign_key => 'user_id'
end

有什么建议吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

使用::User在根命名空间中引用模型。

class Mynamespace::User < ActiveRecord::Base
  belong_to :user, class_name: '::User'
end