Mongomapper多对多的问题与数组 [英] Mongomapper many to many issue with Array

查看:148
本文介绍了Mongomapper多对多的问题与数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想列出所有任务名称为用户形成用户的任务列表

但是,当我使用code下面我得到以下信息:

 未定义的方法`TASK_ID为...

下面是我的类:

 类用户
  包括MongoMapper ::文件
  关键:姓名,字符串
  键:任务列表,数组#我需要这个持有ObjIds  很多:任务:在= GT; :任务列表,:CLASS_NAME => '任务'  高清加(任务id)
    A = self.new
    a.task_id<<的taskid
    a.save
结束类任务
  包括MongoMapper ::文件
  关键:姓名,字符串  很多:用户
结束


解决方案

我用:

  A = self.new
a.tasklist = [object1,Object2的]
a.save

然后,我可以通过所有的对象引用遍历使用:

  A = User.find(a.id)
a.tasks.each做|任务|
  把task.name
结束

I would like to list all the task names for the User form the user's tasklist

But when I use the code below I get the following message:

undefined method `task_id' for ...

Here are my classes:

class User
  include MongoMapper::Document
  key :name, String
  key :tasklist, Array # I need this to hold ObjIds

  many :tasks, :in => :tasklist, :class_name => 'Task'

  def add(taskid)
    a = self.new
    a.task_id << taskid
    a.save
end

class Task
  include MongoMapper::Document
  key :name, String

  many :users
end  

解决方案

I used:

a = self.new
a.tasklist = [object1,object2]
a.save

Then I can iterate through all the object references using:

a = User.find(a.id)
a.tasks.each do |task|
  puts task.name
end

这篇关于Mongomapper多对多的问题与数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆