2012-02-06 38 views

回答

6

该gem不会与mongoid和mongodb一起使用,因为它的构建允许使用活动记录使用关系数据库进行标记。

好消息是,这在mongoid中很简单。只需添加一个以Array_as_taggable_on列出的名称命名的新Array字段。如果您也有acts_as_taggable,那么也包含一个通用标记字段。

如果你将会有一个看起来像这样的模式:

class User < ActiveRecord::Base 
    acts_as_taggable 
    acts_as_taggable_on :skills, :interests 
end 

您将与mongoid建立这样的:

class User 
    include Mongoid::Document 
    field :tags, type: Array 
    field :skills, type: Array 
    field :interests, type: Array 
end 

然后,当你想保存标签,让说你感兴趣,你会做以下几点:

@user.interests << 'computers' 
+0

谢谢,这是有用的,但我怎么能找到所有属于一个特定的标签?或所有用户属于任何给定的标签? 就像:User.tagged_with([“awesome”,“cool”],:any => true)在acts_as_taggable_on? – d34th4ck3r 2012-02-06 20:54:23

+2

User.any_in(tags:[“awesome”,“cool”]) – 2012-02-06 21:33:49

+0

你能告诉我如何写入表单以将输入输入到数组中吗? – d34th4ck3r 2012-02-07 20:47:13