Я столкнулся с странной проблемой, так как я обновился до Rails 3.2.Вложенные объекты и размер коллекции
У моего приложения есть некоторые объекты, управляемые с помощью nested_forms, но когда я пытаюсь достичь размера коллекции после создания нового вложенного объекта, вложенный объект берется в счет.
Для экс .:
1.9.3p0 :004 > e = Expense.last
Expense Load (22.6ms) (...)
=> #<Expense id: 1, (...)
1.9.3p0 :005 > e.comments.size
(0.3ms) SELECT COUNT(*) (...)
=> 0
1.9.3p0 :006 > e.comments.build
=> #<Comment id: nil, content: nil, commentable_id: 1, commentable_type: "Expense", created_at: nil, updated_at: nil, creator_id: nil>
1.9.3p0 :007 > e.comments.size
=> 1
В этом случае, я ожидаю, что e.expense.size
возвращает 0, так как Comment
объект не сохранен.
Возможно, это не с момента обновления, может быть, я просто этого не заметил раньше. Дело в том, что я вхожу в это поведение, когда я вызываю 'для комментариев в e.comments', а так как только что построенный комментарий еще не сохранен, он также вызывает некоторую ошибку – AkyRhO