Ruby on rails 订购数量:更新时通过

Ruby on rails 订购数量:更新时通过,ruby-on-rails,ruby,has-many-through,Ruby On Rails,Ruby,Has Many Through,编辑:修改后的问题 好的,我得到了一个基本的rails:通过关联: class SuiteEntry < ActiveRecord::Base belongs_to :suite belongs_to :case end class Suite < ActiveRecord::Base has_many :suite_entries has_many :cases, :through => :suite_entries end class Case <

编辑:修改后的问题

好的,我得到了一个基本的rails:通过关联:

class SuiteEntry < ActiveRecord::Base
  belongs_to :suite
  belongs_to :case
end

class Suite < ActiveRecord::Base
  has_many :suite_entries
  has_many :cases, :through => :suite_entries
end

class Case < ActiveRecord::Base
  has_many :suite_entries
  has_many :suites, :through => :suite_entries
end
class SuiteEntry:suite\u条目
结束
类Case:suites\u条目
结束
用户现在通过表单为给定套件提供一些要存储的案例。我现在的问题是:当用户按特定顺序放置案例时,保存案例顺序的最佳方法是什么(例如案例1、案例3、案例2-应始终按此顺序存储和检索)。检索数据时,应恢复用户提供的顺序

我现在想知道存储此订购数据的最佳做法是:

  • 依赖于默认情况下发生的顺序(例如,按数据库)
  • 在联接表中引入一个字段(例如“ordering”)
  • 使用一些已经存在的插件,我还不知道
注意:我使用的是最新的rails 2.3


提前感谢

如果您在数据库查询后引用订单,您可以使用参数将订单传递给查询,也可以在客户端代码(Javascript)中对条目进行排序。

存储订单是什么意思?您只需在has_many方法中添加一个order选项,指定应该用于排序的字段,例如

has_many :suite_entries, :order => "size ASC"
另见:

否,问题更像是:用户按照自己定义的顺序提供案例。现在的问题更多的是如何存储此订单,而不是如何检索它。如果要保留订单,需要将其存储在数据库中。因此,在数据库上创建一个新字段并使用它。我修改了我的问题,它是关于如何在has中存储条目顺序的最佳实践:通过关系,而不是按顺序检索元素