我有这样的代码:
user.posts.size #=> 5 already saved
user.posts.new(title:"foo")
user.posts.new(title:"bar")
user.posts.sort_by! { |e| e.title } #=> sort correclty
user.posts #=> sorted but with the saved on the top, the new one at the bottom
我使用field_for
的排序,但显然它仍未排序。
使用:Rails 3.2.11和Mongoid 3.0.23
答案 0 :(得分:1)
我不确定为什么会发生这种情况,但我认为这会解决问题
# controller
user.posts.build(title:"foo")
user.posts.build(title:"bar")
@posts = user.posts.sort_by(&:title)
# view
= f.fields_for :posts, @posts do |post_form|
...