uma*_*mar 5 mongoid ruby-on-rails-3
我在rails公司模型中有以下代码:
class Company
include Mongoid::Document
include Mongoid::Timestamps
field :name, type: String
...
has_and_belongs_to_many :users
end
Run Code Online (Sandbox Code Playgroud)
用户模型:
class User
include Mongoid::Document
include Mongoid::Timestamps
include ActiveModel::SecurePassword
field :email, type: String
...
has_and_belongs_to_many :companies
end
Run Code Online (Sandbox Code Playgroud)
数据库中有公司记录,并且用户记录与它们相关联.出于某种原因,以下代码不起作用:
c = Company.first
c.users # returns empty array
Run Code Online (Sandbox Code Playgroud)
同样,以下代码不起作用:
u = User.first
u.companies
Run Code Online (Sandbox Code Playgroud)
但是以下代码可以工作:
c = Company.first
user = User.find c.user_ids.first
Run Code Online (Sandbox Code Playgroud)
以下代码也有效:
u = User.first
company = Company.find u.company_ids.first
Run Code Online (Sandbox Code Playgroud)
因此,如果我尝试从company.users访问用户,它不起作用,但user_ids数组确实有一个用户ID列表,当我尝试从此列表中访问用户时,它可以工作.我该如何解决这个问题?
我使用rails 3.2.5和mongoid 3.0.0.rc
我遇到了完全相同的问题;)确保您使用的 mongodb 版本 > 2.0.0,有关更多详细信息,请参阅:http://mongoid.org/en/mongoid/docs/installation.html#installation
归档时间: |
|
查看次数: |
1528 次 |
最近记录: |