2017-01-16 1 views
0

Я развиваюсь на сайте отслеживания студентов в RoR. В модели я следующий код для создания JSonПроблема при рендеринге объекта jbuilder json как 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 

Мой код контроллера

render json: { 
    courses: course.as_json, 
} 

и производит

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

вместо

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

Это добавляет управляющий символ (/) перед каждым d котировки. Как я могу решить эту проблему

ответ

0

Эй, вы можете использовать его для создания в качестве альтернативы

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

Да. ваша альтернатива - хорошая. Но можете ли вы, пожалуйста, сказать мне решение с использованием Jbuilder, поскольку мне нужно внести некоторые изменения в формат json – CR7

Смежные вопросы