在视图Rails中显示格式化的Ajax JSON响应

时间:2014-11-14 12:12:38

标签: jquery ruby-on-rails ajax json

我收到了一个JSON响应,其中包含来自此Ajax的对象列表(包含id,name等):

$.ajax({
  url: _this.attr('action'),
  data: _this.serialize(),
  dataType: "json",
  success: function(json_data) {
    alert('success!');
    alert(JSON.stringify(json_data));
  },
  error: function(data) {
    alert('error!');
  }
});

现在我需要在视图中以表格形式显示此信息,例如:

%table
  %thead
    %tr
      %th= "ID"
      %th= "Name" 
  %tbody
    - @response.each do |resp|
      %tr
        %td= resp.id
        %td= resp.name

我该怎么做?

1 个答案:

答案 0 :(得分:0)

如果你只想使用jquery,你可以使用类似的东西来获得成功:

function(json_data) {
  var $tbody = $('table tbody');
  $.each(json_data, function() {
    var $tr = $('<tr></tr>').appendTo($tbody);
    $('<td></td>').text(this.id).appendTo($tr);
    $('<td></td>').text(this.name).appendTo($tr);
  })
}

然而,随着模板变得越来越困难,可能值得研究一些客户端模板解决方案(例如Handlebars)。