J'ai le code suivant dans le modèle de société de rails :
class Company
include Mongoid::Document
include Mongoid::Timestamps
field :name, type: String
...
has_and_belongs_to_many :users
end
Modèle d'utilisateur :
class User
include Mongoid::Document
include Mongoid::Timestamps
include ActiveModel::SecurePassword
field :email, type: String
...
has_and_belongs_to_many :companies
end
Il y a un enregistrement de société dans la base de données, et un enregistrement d'utilisateur et ils sont associés. Pour une raison quelconque, le code suivant ne fonctionne PAS :
c = Company.first
c.users # returns empty array
De même, le code suivant ne fonctionne pas :
u = User.first
u.companies
Mais le code suivant fonctionne :
c = Company.first
user = User.find c.user_ids.first
et le code suivant fonctionne également :
u = User.first
company = Company.find u.company_ids.first
Ainsi, si j'essaie d'accéder aux utilisateurs à partir de company.users, cela ne fonctionne pas, mais le tableau user_ids contient une liste d'identifiants d'utilisateurs, et lorsque j'essaie d'accéder aux utilisateurs à partir de cette liste, cela fonctionne. Comment puis-je résoudre ce problème ?
J'utilise rails 3.2.5 et mongoid 3.0.0.rc.