0

RubyとMongoidでTourシーケンスを作成しようとしています:Steps

class Tour
  include Mongoid::Document
  field :name,    type: String
  embeds_many :steps
end

class Step
  include Mongoid::Document
  field :name,    type: String
  embedded_in :tour
end

順序付けられた一連のステップを管理する最善の方法は何ですか? (考慮: 挿入、削除、ステップの移動)

私の最初の反応は、次のステップを保存して、一方向のリンクされたリスト スタイルで実行することです。

class Step
  include Mongoid::Document
  field :name,    type: String

  embeds_one  :step, store_as: "next_step"
  embedded_in :tour
end

他の誰かがより良い設計アドバイスを持っているかどうか興味があります:)

ありがとう!

4

1 に答える 1

1

ステップの順序を変更したい場合、一方向の関係を使用するとメンテナンスが困難になります。

embeds_many + ステップ順序フィールド + カスタム バリデーターを使用することをお勧めします。

于 2012-09-02T15:09:27.933 に答える