【问题标题】:UserGroup has many Users. How to get the UserGroup of a User. [MongoMapper] [Rails]UserGroup 有很多用户。如何获取用户的用户组。 [Mongo Mapper] [Rails]
【发布时间】:2014-04-30 09:07:58
【问题描述】:

作品

从数据库中检索用户

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'”

【问题讨论】:

    标签: ruby-on-rails mongodb mongomapper


    【解决方案1】:

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

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

    所以我使用了“.find_by_userid”而不是“.where”。

    user = User.find_by_user_id(user_id)
    

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

    user_group = user.user_group
    

    【讨论】:

      猜你喜欢
      • 2021-04-03
      • 1970-01-01
      • 2019-02-19
      • 2020-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多