2017-01-16 6 views
0

Ich entwickle mich in Student-Tracking-Website in RoR. Ich habe folgende Code jsonProblem beim Rendern eines Jbuilder-JSON-Objekts als JSON

self.as_json 
    json = Jbuilder.new do |j| 
    j.courses student_courses do |course| 
     j.(course, :id, :name) 
     j.students students, :name 
    end 
    end.target! 
    puts json 
    return json 
end 

Mein Controller-Code zu bauen Im Modell ist

render json: { 
    courses: course.as_json, 
} 

und produziert

{"courses":[ 
"{\"id\": 1,\"name\": \"english\",\"students\": [{\"name\": \"ALison\"},{\"name\": \"Robert\"}] 
},{...}... ]" 

statt

"courses" : [ 
{ 
    "id": 1, 
    "name": "english", 
    "students": [ 
     {"name": "ALison"}, 
     {"name": "Robert"}] 
}, {..},...  
] 

Es ist das Hinzufügen von Escape-Zeichen (/) vor jedem d doppelte Anführungszeichen Wie kann ich dieses Problem lösen

Antwort

0

Hey Sie können dies als Alternative

course.to_json(:include => { :students => { :only => :name } }) 
+0

Ja zu erzeugen, verwenden. Ihre Alternative ist eine gute. Aber können Sie mir bitte eine Lösung mit Jbuilder sagen, da ich einige Änderungen im Format von json brauche – CR7

Verwandte Themen