我想在rails中保存表单中包含许多字段的数据。实际上,我担心当我向表单填充数据时,这些数据可能会意外丢失,所以我想在文本字段失去焦点后逐个保存这些数据。我想知道天气有什么宝石或方法可以做到。
答案 0 :(得分:3)
使用jQuery模糊功能和@Rab Nawaz说,AJAX提交数据。
Here是模糊的工作示例,explanation和documentation
类似于:
$("input").blur(function(){
$("form.form_class").submit();
});
确保为AJAX正确设置表单。
或者,如果您正在寻找宝石,可以试试这个one。从未使用它,但它看起来很酷。希望它有所帮助。
答案 1 :(得分:1)
Ajax就是答案。但想想性能。如果您在每个属性失去焦点后发送请求,它将向数据库和服务器发送多个请求..
答案 2 :(得分:1)
试试Sisyphus jquery。它会自动将数据保存在本地。
http://coding.smashingmagazine.com/2011/12/05/sisyphus-js-client-side-drafts-and-more/
答案 3 :(得分:0)
要向服务器发送新数据,您不需要任何宝石。你可以简单地使用jQuery(当然你可以使用gem for 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_data。如果你找不到,我可能会帮助你。