0

シナリオを考えると:

「 ModelA 」からX個のレコードのコレクションが取得され、そのコレクションに対して処理が実行されて「ModelB」のレコードが作成されますが、処理が行われるにはXが偶数になる必要があり、何があっても処理が行われる必要があります。 、たとえXが奇数であっても。

処理が正常に行われるように、コレクション内の単一のレコードを偽造して偶数を取得することは可能ですか?

私がやろうとしていることの例を挙げると...

def generate_some_modelb_data
  collection = ModelA.somemethod
  #append fake record if collection is an odd number
  if collection.count%2 > 0
    collection << somefakehash
  end
  #process the collection
  ...
  ModelB.create(:attribute_a => processed_data, :attribute_b => processed_data....)
end

ModelA に偽のデータを保存したくありませんが、正当なデータを正しく処理できるのであれば、コレクションに追加した偽のデータが ModelB に保存されても問題ありません。また、追加される偽のデータは、既存の ModelA レコード (ID など) と類似していてはならず、将来の処理のために偽のデータとして識別できる必要があることも付け加えておきます。

4

1 に答える 1

1

をに置き換えてみてcollection << somefakehashくださいcollection.append(somefakehash)ドキュメントによると<<オペレーターは親の保存または更新を待たずに、SQLの更新を即座に起動します。

于 2012-09-19T22:08:02.537 に答える