2011-09-14 3 views
0

안녕하세요 저는 레일에 루비가 새롭고 레일과 함께 몽고 이드를 사용합니다. mongoid 객체를 json으로 변환하려고 할 때 nil 값을 갖는 속성을 건너 뜁니다.to_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\"}"

답변

0

이 작업을 수행하는 가장 쉬운 방법은 due_date의 검색을 재정의처럼 얻을 수있는 방법이있다.

모델이 시도 :이 code.when으로 시도

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

내가 직접 내가 '널 (null)'의 경우 'DUE_DATE'전무를 받고 있지만 동일하게 JSON 메소드를 호출하지 않을 때입니다 'DUE_DATE'전화 도움을 주셔서 감사합니다. –

+0

음, 나를 위해 일했다. 해결 방법 : 귀하의 json 옵션에서 ': methods => : due_date'및 ': except => : due_date'를 사용하십시오. – apneadiving

+0

위대한! 잘 했어. 고마워. –

관련 문제