Rails - Jbuilder和部分使用?

时间:2014-06-26 19:50:13

标签: 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 个答案:

答案 0 :(得分:2)

user.json.jbuilder表示Jbuilder.encode do |json|已被召唤。

因此,您的user.json.jbuilder文件将按以下方式运行:

json.id user.id
json.username user.user_name

就是这样......故事结束:)