to_json使用nil值跳过属性

时间:2011-09-14 11:27:19

标签: ruby-on-rails mongoid

嗨,我是新来的铁轨上的红宝石,并使用带轨道的mongoid。 当我尝试将mongoid对象转换为json时,将跳过具有nil值的属性。

ruby-1.9.2-p180 :019 >@task
 => #<Task _id: 4e707635c7b4700ce3000004, _type: "Task", created_at: 2011-09-14     09:39:01 UTC, updated_at: 2011-09-14 09:39:01 UTC, due_date: nil, is_completed: false, assignee_id: nil, description: "hi remind this ", user_id: BSON::ObjectId('4e4d1aeac7b4700c6e000096'), item_id: BSON::ObjectId('4e53585fc7b4701082000002')>  

@task.to_json(:only=>[:due_date])
=> "{}" 

有没有办法像"{\"due_date\":\"null\"}"

那样

1 个答案:

答案 0 :(得分:0)

最简单的方法是覆盖due_date

的检索

在你的模特中试试这个:

def due_date
  real_value = self[:due_date]
  return real_value unless real_value.nil?
  return "null"
end