用户组有很多用户。如何获取用户的用户组。 [MongoMapper] [Rails]

时间:2014-04-30 09:07:59

标签: ruby-on-rails mongodb mongomapper

作品

从数据库中检索用户

def login(user_id)
  user = User.where(:user_id => user_id)
end

不起作用

从数据库中检索用户的用户组。我试过了:

user_group = UserGroup.find(user.user_group.id)

class User
  include MongoMapper::Document
  plugin MongoMapper::Plugins::IdentityMap

  key :user_id,   String,   :required => true
  key :name,      String,   :required => true

  belongs_to :user_group
end

class UserGroup
  include MongoMapper::Document
  plugin MongoMapper::Plugins::IdentityMap

  key :name,   String,   :required => true

  many :users
end

错误

这是我得到的错误:

" NoMethodError - 未定义的方法' user_group' #:"

1 个答案:

答案 0 :(得分:0)

我发现了问题," .where "返回一个数组,这是我的错误。

user = User.where(:user_id => user_id)

所以我没有" .where",而是使用" .find_by_userid"。

user = User.find_by_user_id(user_id)

这是Dynamic Querying,它返回一个实体,可以执行以下操作:

user_group = user.user_group