to_json пропускает атрибуты со значением nil - PullRequest
0 голосов
/ 14 сентября 2011

привет, я новичок в ruby ​​на рельсах и использую 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 голосов
/ 15 сентября 2011

Самый простой способ сделать это - переопределить получение due_date.

Попробуйте в вашей модели:

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