Jbuilder部分与路径

时间:2015-04-15 21:17:02

标签: ruby-on-rails ruby partials 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 个答案:

答案 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