Ruby on rails 3 I';我是铁路工人。如何建立一个模型,使拼贴数组的每个元素;有“你一个”;工作
我现在坐在Rails 3和MongoDB中,试图以一种前所未有的方式将模型联系起来。我想拼贴工作图片,但不是拼贴表、幻灯片表、工作表和图像表,我希望每个拼贴都是一个称为“幻灯片”的数组,“幻灯片”中的每个元素都是一个工作id 因此,拼贴是一组工作ID 以下是数据库中的内容(除了客户、工作等等): 我想以某种方式将模型联系在一起,比如拼贴。幻灯片[]有一个作品,而作品属于拼贴。幻灯片[],所以我最终可以写Ruby on rails 3 I';我是铁路工人。如何建立一个模型,使拼贴数组的每个元素;有“你一个”;工作,ruby-on-rails-3,mongodb,Ruby On Rails 3,Mongodb,我现在坐在Rails 3和MongoDB中,试图以一种前所未有的方式将模型联系起来。我想拼贴工作图片,但不是拼贴表、幻灯片表、工作表和图像表,我希望每个拼贴都是一个称为“幻灯片”的数组,“幻灯片”中的每个元素都是一个工作id 因此,拼贴是一组工作ID 以下是数据库中的内容(除了客户、工作等等): 我想以某种方式将模型联系在一起,比如拼贴。幻灯片[]有一个作品,而作品属于拼贴。幻灯片[],所以我最终可以写 collage.slides[1].work.image 但我不知道模型之间的关系应该是什
collage.slides[1].work.image
但我不知道模型之间的关系应该是什么。collage.slides[1]是一个工作id,因此现在可以使用以下工作:
Work.find(collage.slides[1]).image
但这就是迈阿密风格的节目。我希望这足够清楚,如果不清楚的话,很抱歉。
有一对一的关系。在这种情况下,这不是你想要的
如果您使用的是mongoid,那么这是一种适合您的设计。其中有一个拼贴类,它嵌入了许多幻灯片
class Collage
include Mongoid::Document
embeds_many :slides
end
class Slide
include Mongoid::Document
embedded_in :collage
belongs_to :works
end
class Work
include Mongoid::Document
has_many :Slides
field :image_url, type: String
end
如果不需要类上的helper方法,只需自己创建数组和嵌入文档,并根据需要使用Ruby驱动程序对其进行操作。基本上,这些类定义将创建以下拼贴文档:
拼贴:
{
"slides": [
{
"works": [ work_id, work_id , ....]
},
{
"works": [ work_id, work_id , ....]
}
]
}
嗨,你查过mongoid或mongomapper了吗?我相信它们都支持活动记录关联。作品可以属于多张幻灯片吗?不,作品不能属于多张幻灯片。将有一个拼贴,十五张幻灯片,每张幻灯片一个作品。。。我开始问一个新问题,我想我现在要怎么做:事实上,我也不再那样做了。
{
"slides": [
{
"works": [ work_id, work_id , ....]
},
{
"works": [ work_id, work_id , ....]
}
]
}