我有一个嵌套关联[
{"id":1,"text":"some text","user_id":1},
{"id":1,"text":"some text","user_id":2},
...
]
我有一个带有茧的表单,我可以添加新的nested_fields。
在我的控制器中,我首先尝试保存资源和嵌套字段(最终触发验证错误),但如果验证通过并保存资源以及嵌套字段,我需要执行自定义操作仅限于新的嵌套字段(之前不存在的新记录)。
如何只选择新字段? (请注意,这发生在company has_many :employees
)
@resource.save
我不认为这是相关的,但我使用的是Mongoid。
答案 0 :(得分:1)
如何将这些新创建的员工放在数组之前保存,如下所示:
bufname('%')
然后你可以在 @ company.save
之后做任何你想做的事情答案 1 :(得分:-1)
假设您正在使用rails使用的默认的updated_at和created_at标记(或任何类似的标记),您可以在调用批量保存之前立即获取时间,然后获取属于父级的所有元素。在那之后创建。例如:
# Gets the current time
time = Time.now
if @company.save
custom_action(@company.nested_items.where("created_at >= ?", time) do
# Processing only newly created employees
end)
end