2

我想将具有多个字段的数据保存在rails中。其实我是怕我往form里填数据的时候不小心把那些数据丢了,所以想在失去焦点后把这些数据一一保存。我想知道天气有什么宝石或方法可以做到这一点。

4

4 回答 4

3

使用 jQuery 模糊功能,正如@Rab Nawaz 所说,AJAX 提交数据。

是一个模糊的工作示例,解释文档

所以像:

$("input").blur(function(){
  $("form.form_class").submit();
});

只需确保为 AJAX 正确设置了表单。

或者,如果您正在寻找宝石,您可以试试这个。没用过,不过看着挺酷的。希望能帮助到你。

于 2012-09-25T06:58:17.987 回答
1

让我们试试 Sisyphus jquery。它会自动将数据保存在本地。

http://coding.smashingmagazine.com/2011/12/05/sisyphus-js-client-side-drafts-and-more/

https://github.com/dnoonan/sisyphus-rails

于 2012-11-19T07:54:41.620 回答
1

阿贾克斯就是答案。但想想表现。如果您在每个属性失去焦点后发送请求,它将向数据库和服务器发送多个请求..

于 2012-09-25T08:55:13.557 回答
0

要将新数据发送到服务器,您不需要任何 Gem。你可以简单地使用 jQuery(当然你可以使用 gem 来做 jQuery)。只需将您的更新代码挂钩到您的字段的模糊事件。

$(document).on('blur', 'input[type=text]', function(e){
  post_data = {}; //prepare your data here
  $.post(UPDATE_URL, post_data, function(response_data){
     console.log(data)
  })
})

现在,当您编辑文本字段时(如果需要,您可以在查询中添加其他字段),它会将更新后的 DATA 发送到服务器。您应该输入 UPDATE_URL 以便您可以使用它。但是,您还需要 csrf_token_name 和值来发出 post 请求。将这些添加到 post_data。如果你找不到方法,我可能会帮助你。

于 2012-09-25T06:52:40.027 回答