Rails — Jbuilder и использование частичных файлов?

#ruby-on-rails #ruby #jbuilder

#ruby-on-rails #ruby #jbuilder

Вопрос:

У меня есть шаблон, который принимает массив объектов, и для каждого объекта он должен отображать частичный шаблон. Результат возвращается в виде пустых объектов. Есть идеи, что не так в коде??

Контроллер

 def index
   render text: render_to_string(template: 'users.json.jbuilder', locals: {:@uses : users}
end
 

users.json.jbuilder

 json.array! @users do |user|
     json.partial! 'user.json.jbuilder', { user: user}
end 
 

user.json.jbuilder

 Jbuilder.encode do |json|
   json.id user.id
   json.username user.user_name
end
 

Результат

 [{},{},{},{},{},{},{},{},{},{},{},{},{},{}]
 

Ответ №1:

user.json.jbuilder означает, что Jbuilder.encode do |json| это уже вызвано.

Итак, ваш user.json.jbuilder файл станет функциональным следующим образом:

 json.id user.id
json.username user.user_name
 

Вот и все… Конец истории 🙂