【发布时间】:2016-01-15 16:55:09
【问题描述】:
我想在 Rails 应用程序中应用一个小型 Ajax 示例。我在索引视图中有一个带有复选框的项目模型。我为我在索引视图中呈现的复选框创建了一个 form_for。我想检查复选框并更新数据库中的复选框值。 我正在学习 Ajax,并通过添加 beforeSend 和函数(数据)应用了一些测试。从我读到的 Ajax 有 POST 和 GET。如果我添加 type: 'POST' Rails 会尝试创建一些东西,不会找到有效的路由路径并且会出错。我想更新在 Rails 中是 PUT 的 DB 中的复选框值。我应该如何进行?你能指出我正确的方向吗?
这是我在索引视图中呈现的表单。
<%= form_for(c, remote: true) do |k| %>
<%= k.check_box :recyclable, :class => "active_testdef_cl", :id => "item_recyclable_#{c.id}", 'data-recyclable' => c.recyclable %>
<% end %>
这是脚本。
<script>
$(document).ready(function() {
for (var i=0; i < 2; i++ ) {
$('#item_recyclable_'+i).on('change', function(){
var url='/items'
var form_data = $('#cc_form').serialize;
var checkbox_value = $('#item_recyclable_'+i).val();
$.ajax({
type: 'GET',
url: url,
data: checkbox_value,
beforeSend:function(){
// $('#test_message').innerHTML=("hello Christina");
//alert("hi m")
},
success: function(data) {
//$('#test_result').html(data);
document.getElementById('test_result').innerHTML=data;
}
});
return false;
});
};
});
</script>
【问题讨论】:
标签: ruby-on-rails ajax