2011-08-14 62 views
3

我如何设置默认为我的嵌入式对象,如:与默认顺序Mongoid embeds_many

class Post 
    embeds_many :comments, :order => "author" 
    accepts_nested_attributes_for 
end 

现在我通过顺序直接处理:

f.fields_for :comments, @post.comments.asc(:author) do |comment| 
    ... 
end 
+0

您正在使用哪个版本的mongoid? https://github.com/mongoid/mongoid/blob/master/lib/mongoid/relations/embedded/many.rb#L495你可以看到,embeds_many接受来自2.1.0的':order'选项 – rubish

+0

@Rubish Gupta,哇!我在'2.0.2'!但对'2.1.7'( – fl00r

+1

)没有影响,或者它也可以在2.0.2中接受它,因为最近在mongoid中添加了对选项的验证代码。因此,也许2.1.0只是添加了一个返回有效选项的方法如果你还没有考虑升级,你应该尝试使用':order' – rubish

回答

6

在mongoid 3.1.2你可以做这样的事情:

embeds_many :favorites, order: :title.desc 

它还与:title.asc

+0

这在Mongoid 5.1中依然如此 – ABrowne