RABL无法进行空查询

时间:2014-05-04 07:19:43

标签: ruby-on-rails json rabl

我有一个数据表表,它通过查询接收数据,然后使用RABL格式化。 这一切都很有效,直到我的搜索找不到任何行。 然后我得到....处理消息,没有更新。 我很困惑RABL。有没有办法看看它在做什么?

这是我的data.rabl文件

object false

node(:iTotalRecords){@iTotalRecords}
node(:iTotalDisplayRecords){@iTotalDisplayRecords}

child(@aaData, :object_root => false)  do 
  attributes :school_name  => "1",
         :student_name => "3",
         :paid         => "4",
         :short_name   => "5",
         :emailed      => "6",
         :reconciled   => "9"
  node("6") do |p|
    if p.emailed == 0
      'false'
    else
      'true'
    end
  end
  node("0") do |p|
    p.created_at.to_date
  end
  node("2") do |p|
     schedule = p.enrollment.schedule
     link_to(p.klass_name, schedule_path(schedule))
  end
  node("3") do |p|
     link_to(p.enrollment.student.name, student_path(p.enrollment.student_id))
  end
  node("7") do |p|
     p.enrollment.rate
  end
  node("8") do |p|
     p.enrollment.paid
  end
  node("10") do |p|
      link_to("Edit", edit_payment_path(p), :class => 'btn btn-info btn-mini')
  end 
end

1 个答案:

答案 0 :(得分:2)

我需要做的是确保json包含一个名为:payments的字段。 如果没有数据,则子循环没有被执行,因此RABL没有理由生成:付款字段。

我发现您可以通过创建别名来强制执行此操作。 所以我添加了代码:

 child :payments => :payments

在行

之前
child(@aaData, :object_root => false)  do 

现在效果很好。