Railsの会社モデルに次のコードがあります。
class Company
include Mongoid::Document
include Mongoid::Timestamps
field :name, type: String
...
has_and_belongs_to_many :users
end
ユーザーモデル:
class User
include Mongoid::Document
include Mongoid::Timestamps
include ActiveModel::SecurePassword
field :email, type: String
...
has_and_belongs_to_many :companies
end
データベースには会社レコードとユーザーレコードがあり、それらは関連付けられています。何らかの理由で、次のコードは機能しません。
c = Company.first
c.users # returns empty array
同様に、次のコードは機能しません。
u = User.first
u.companies
ただし、次のコードは機能します。
c = Company.first
user = User.find c.user_ids.first
次のコードも機能します。
u = User.first
company = Company.find u.company_ids.first
したがって、company.usersからユーザーにアクセスしようとしても機能しませんが、user_ids配列にはユーザーIDのリストがあり、このリストからユーザーにアクセスしようとすると機能します。この問題を解決するにはどうすればよいですか?
Rails3.2.5とMongoid3.0.0.rcを使用しています