2012-09-25 32 views
1

我想保存在rails中的窗体中有很多字段的数据。实际上,我担心当我向表单填充数据时,这些数据可能会意外丢失,所以我想在文本字段失去焦点后逐一保存这些数据。我想知道天气有没有任何宝石或方法来做到这一点。保存数据立即失去焦点后在rails中的文本域

请给我一些建议。

提前致谢。

+0

使用AJAX来保存数据 – Rab

回答

0

要发送新数据到服务器,您不需要任何Gem。你可以简单地使用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) 
    }) 
}) 

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

+0

我不知道怎么回事,帮助引导我请! – hengsokly

+0

你进步多远?你能否至少提出要求?如果不是,请先做。当服务器拒绝您的请求时(由于缺少csrf),我可以为您提供。 – HungryCoder

3

使用jQuery模糊函数和@Rab Nawaz说的,AJAX提交数据。

Here是模糊的工作示例,一个explanationdocumentation

因此,像:

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

只要确保表格设置正确的AJAX。

或者如果你正在寻找一个宝石,你可以试试这个one。从未使用过它,但看起来很酷。希望能帮助到你。

1

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