0

我正在使用 Rails 的漂亮accepts_nested_attributes_for工具来创建invoices和他们的items. Items可以invoice用 jQuery 动态添加。

class Invoice < ActiveRecord::Base
  attr_accessible :project_id, :number, :date, :recipient, :items_attributes
  accepts_nested_attributes_for :items
end

这工作正常。除了Rails保存items.

例如,当我invoice用这 5 个items...

A
B
C
D
E

...一切正常。但是当我点击Create将发票和项目保存到数据库时,订单是完全随机的,例如:

D
A
C
E
B

查看我的数据库和created_at我的items表列显示 Rails(或 SQLite?)似乎items以随机顺序保存,而不是按照我(作为用户)将它们添加到invoice.

这是正常行为吗?如果是这样,我如何才能在items添加到我的 时保持正确的顺序invoice

谢谢你的帮助...

4

1 回答 1

0

您可以通过将 :order 选项传递给您的关联来指定接收关联对象的顺序。例如:

has_many :items, :order => "created_at DESC"

来源:关联选项

于 2012-10-29T16:14:04.343 回答