Javascript Rails 4使用xml和jquery更新数据
我正在尝试使用jquery的ajax调用自动更新数据 移动对象时,将执行以下代码: 这是我的jquery代码Javascript Rails 4使用xml和jquery更新数据,javascript,jquery,ruby-on-rails,ajax,Javascript,Jquery,Ruby On Rails,Ajax,我正在尝试使用jquery的ajax调用自动更新数据 移动对象时,将执行以下代码: 这是我的jquery代码 $.ajax({ type: "PUT", url: "/devices/2328.xml", data: '<device><name>test</name></device>', contentType: 'application/xml', // format of request payload dataType:
$.ajax({
type: "PUT",
url: "/devices/2328.xml",
data: '<device><name>test</name></device>',
contentType: 'application/xml', // format of request payload
dataType: 'html', // format of the response
});
在我的日志中,我可以看到请求正在提交,但实际上什么也没有发生,在底部看到没有内容
我还注意到,在日志的参数部分找不到我传递的值
Started PUT "/devices/2328.xml" for 127.0.0.1 at 2014-02-01 19:10:33 +0100
Processing by DevicesController#update as XML
Parameters: {"id"=>"2328"}
Device Load (0.4ms) SELECT `devices`.* FROM `devices` WHERE `devices`.`id` = 2328 LIMIT 1
0.1ms开始
0.1ms提交
在9ms ActiveRecord中完成204无内容:0.6ms
我真的搞不清楚到底出了什么问题
有人有线索吗?我没有看到传递的数据:“测试”参数。这可能是一个键/值对问题
更改数据:{'device':{'name':'test'}}
您好,Nate,我已经尝试了您提出的更改,但我现在遇到了其他错误:2014-02-01 21:01:59+0100 DevicesController处理127.0.0.1的PUT/devices/2328.xml开始更新为xml参数:{id=>2328}设备加载0.2ms选择设备。*从设备`WHERE devices.id=2328 LIMIT 1在5ms内完成400个错误请求ActionController::ParameterMissing param未找到:设备:app/controllers/devices_controller.rb:68:in Device_params'app/controllers/devices_controller.rb:44:in update'`日志文件中未显示名称参数关于数据:{'device':{'name':'test'}Hi Nate,2014-02-01 21:39:59+0100 DeviceControllerUpdate作为xml参数进行处理时,参数中仍然没有内容,也没有内容:{id=>2328}设备加载0.2ms选择设备。*从设备`WHERE devices.id=2328 LIMIT 1 0.2ms BEGIN 0.1ms COMMIT Completed 204 23ms ActiveRecord:1.8ms`没有内容`if@Device.update\u attributesdevice\u参数raise updated{@Device}的结果是什么当我更改您添加的代码时,我得到一个运行时错误RuntimeError updated:,此哈希包含来自id的数据。当我将其更改为params[:device]时,它不包含任何内容。
Started PUT "/devices/2328.xml" for 127.0.0.1 at 2014-02-01 19:10:33 +0100
Processing by DevicesController#update as XML
Parameters: {"id"=>"2328"}
Device Load (0.4ms) SELECT `devices`.* FROM `devices` WHERE `devices`.`id` = 2328 LIMIT 1
$.ajax({ type: "PUT", url: "/devices/2328.xml",
data: { 'device': { 'name': 'test' }},
contentType: 'application/xml', // format of request payload
dataType: 'html', // format of the response
});