创建两个相互依赖的模型的实例

时间:2017-03-03 02:37:05

标签: javascript jquery ruby-on-rails ajax

我有一个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请求将所有关键字添加到组件中。

听起来合理还是有更好的方式?

1 个答案:

答案 0 :(得分:1)

我会考虑查看方法find_or_create_by,并在Component控制器中使用它来创建任何尚不存在的关键字。