我试图使用下面的
渲染部分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部分路径的语法是什么?
答案 0 :(得分:9)
我试图解决这个问题几个小时,最后发现上面的语法(在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