Jbuilder частично с путем
Я пытаюсь визуализировать частичный файл jbuilder, используя ниже
json.(@request, :id)
json.profile do
json.partial! partial: 'users/user_reduced', user: @request.user
end
частичное ниже (users/_user_reduced.json.jbuilder)
json.(user, :id, :name, :sex)
Однако я получаю ошибку:
ActionView::Template::Error (undefined local variable or method `user' for #<#<Class:0x007fe4ebc91878>:0x007fe4ebe599f8>):
Это как если бы локальная пользовательская переменная не была установлена. Каков синтаксис для установки локальной переменной в частичный путь jbuilder?
1 ответ
Решение
Я пытался исправить это в течение нескольких часов и, наконец, обнаружил, что синтаксис (указанный в readme для jbuilder) выше не работает. Вы должны отформатировать ваши партиалы, как показано ниже:
json.partial! 'partials/partial_path', locals: {local_var: my_local_var}
Так что в моем случае это будет:
json.(@request, :id)
json.profile do
json.partial! partial: 'users/user_reduced', locals: {user: @request.user}
end