我正在尝试使用下面的方法呈现部分 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 部分路径的语法是什么?
最佳答案
我已经尝试修复此问题数小时,最后发现上面的语法(认为列在 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
关于ruby-on-rails - Jbuilder 部分路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29661073/