#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
Вот и все… Конец истории 🙂