我有一个javascript表单,它创建一个ajax POST请求,最终产生一个模型Component
的新实例。这完全没问题。
现在,我想通过相同的表单将用户输入的关键字添加到Component
模型中。我创建了一个单独的Keyword
模型。问题在于,当我想创建Component
时,会引用输入到表单中的相关关键字。我不能只假设所有输入的关键字都存在,所以在更新引用之前需要进行一些处理。也就是说,我需要找出不存在哪些关键字,将它们放入数据库,然后我最终可以使用适当的关键字引用创建Component
。
我目前的想法是在ajax请求的成功回调中处理它,如:
$.ajax({
method: 'POST',
data: {component:data},
dataType:'JSON',
success: function(data) {
//handle it here...
}.bind(this),
error: function(data) {
}.bind(this)
})
然后遍历关键字,创建尚不存在的关键字,然后使用其他POST请求将所有关键字添加到组件中。
听起来合理还是有更好的方式?
答案 0 :(得分:1)
我会考虑查看方法find_or_create_by
,并在Component
控制器中使用它来创建任何尚不存在的关键字。