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 << somefakehashcollection.append(somefakehash)根据文档<<操作员会立即触发更新 SQL,而无需等待父节点上的保存或更新。

于 2012-09-19T22:08:02.537 回答