Ruby on rails 通过ajax的datatables不接受嵌套json作为正确数据
我正在尝试实现一个更高级的Railscast版本,涵盖数据表 当控制器提供WaresDatatable.new(view\u context)响应时,我能够通过ajax使表工作,这是一个胜利 但是,当我尝试扩展我正在做的事情并嵌套json以便datatables和其他函数可以使用json响应时,ajax datatable不再加载数据 我对这一点还比较陌生,有一段时间我一直在为这个看似微不足道的问题绞尽脑汁 控制器:Ruby on rails 通过ajax的datatables不接受嵌套json作为正确数据,ruby-on-rails,ruby-on-rails-3,datatables,Ruby On Rails,Ruby On Rails 3,Datatables,我正在尝试实现一个更高级的Railscast版本,涵盖数据表 当控制器提供WaresDatatable.new(view\u context)响应时,我能够通过ajax使表工作,这是一个胜利 但是,当我尝试扩展我正在做的事情并嵌套json以便datatables和其他函数可以使用json响应时,ajax datatable不再加载数据 我对这一点还比较陌生,有一段时间我一直在为这个看似微不足道的问题绞尽脑汁 控制器: respond_to do |format| format.html #
respond_to do |format|
format.html # show.html.erb
#format.json { render :json => @contributor }
format.json {
render :json => {
:warestable => WaresDatatable.new(view_context),
:contributor => @contributor
}
}
end
wares_datatable.rb(根据railscasts,在不需要json时工作)
JS.Coffee文件
jQuery ->
$('#warestable').dataTable
sPaginationType: "full_numbers"
bJQueryUI: true
bProcessing: true
bServerSide: true
sAjaxSource: $('#warestable').data('source')
JSON响应
{"warestable":{"sEcho":0,"iTotalRecords":22,"iTotalDisplayRecords":1,"aaData":[["<a href=\"/wares/1\">crap</a>",null,"old","really crappy condition","<a href=\"/wares/1\">View</a>"]]},"contributor":{"ad_board":true,"avatar_content_type":"image/jpeg","avatar_file_name":"success.jpg","avatar_file_size":90652,"avatar_updated_at":"2013-05-04T01:54:52Z","created_at":"2013-05-01T05:19:51Z","email":"jack@jack.com","first_name":"jack","id":1,"last_name":"frost","name":null,"ptrgrph_id":null,"resume_content_type":"image/png","resume_file_name":"Argentina.png","resume_file_size":42260,"resume_updated_at":"2013-05-04T03:17:50Z","searchable":"jack frost jack@jack.com bu","selfdescription":"<p><span style=\"font-family:comic sans ms,cursive\">This is my new website info</span></p>\r\n\r\n<p> </p>\r\n\r\n<p> </p>\r\n\r\n<p><span style=\"font-family:comic sans ms,cursive\">Hhaahaha</span></p>\r\n","university":"bu","updated_at":"2013-05-08T01:58:58Z","user_id":4,"ware_id":null}}
{“warestable”:{“sEcho”:0,“iTotalRecords”:22,“iTotalDisplayRecords”:1,“aaData”:[[”,null,“old”,“really cropy condition”,“]},“contributor”:{“ad_board”:true,“avatar_内容类型”:“image/jpeg”,“avatar_文件名”:“success.jpg”,“avatar_文件大小”:90652,“avatar_更新时间”:“2013-05-04T01:54:52Z”,“创建时间”:“电子邮件”2013-05-T05:19:51Z:”"jack@jack.com“,”姓名“:”jack“,”id“:”1“,”姓氏“:”frost“,”姓名“:”null“,”简历内容“:”类型“,”图像/png“,”简历文件“:”Agentary.png“,”简历文件大小“:”42260,“简历更新地址::”2013-05-04T03:17:50Z“,”可搜索“:”jack frostjack@jack.com“自我描述”:这是我的新网站信息\r\n\r\n\r\n\r\n\r\n\r\nhhaaha\r\n,“大学”:“bu”,“更新地址”:“2013-05-08T01:58:58Z”,“用户id”:4,“软件id”:null}
Datatables能够处理嵌套资源,所以我很确定这只是我自己。如果有人能为我指出正确的方向,我将不胜感激。我知道这是一个老问题,但请留意 它允许您为而不是aaData设置自定义属性,但我还没有找到一种方法来告诉datatables在别处查找
sEcho
等
{"warestable":{"sEcho":0,"iTotalRecords":22,"iTotalDisplayRecords":1,"aaData":[["<a href=\"/wares/1\">crap</a>",null,"old","really crappy condition","<a href=\"/wares/1\">View</a>"]]},"contributor":{"ad_board":true,"avatar_content_type":"image/jpeg","avatar_file_name":"success.jpg","avatar_file_size":90652,"avatar_updated_at":"2013-05-04T01:54:52Z","created_at":"2013-05-01T05:19:51Z","email":"jack@jack.com","first_name":"jack","id":1,"last_name":"frost","name":null,"ptrgrph_id":null,"resume_content_type":"image/png","resume_file_name":"Argentina.png","resume_file_size":42260,"resume_updated_at":"2013-05-04T03:17:50Z","searchable":"jack frost jack@jack.com bu","selfdescription":"<p><span style=\"font-family:comic sans ms,cursive\">This is my new website info</span></p>\r\n\r\n<p> </p>\r\n\r\n<p> </p>\r\n\r\n<p><span style=\"font-family:comic sans ms,cursive\">Hhaahaha</span></p>\r\n","university":"bu","updated_at":"2013-05-08T01:58:58Z","user_id":4,"ware_id":null}}