将子对象保存在field_for中

时间:2013-04-09 07:31:10

标签: ruby-on-rails ruby-on-rails-3 mongoid mongoid3

我有这样的代码:

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

1 个答案:

答案 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|
  ...