如何在rails中的每个数组中包含变量?

时间:2013-01-31 10:52:27

标签: ruby-on-rails ruby-on-rails-3

我有用户模型,我希望用户列表为json,我希望length of name以及每个用户的响应,但我不知道如何做到这一点?我尝试过如下所示,但导致double render错误。如果我从循环中获取respond_to,则它不返回任何内容。所以请帮助我。

@users = User.all
   @users.each do |user|
      length = user.name.count
        respond_to do |format|
          format.json { render json: @users.to_json(:include => [:length]) }
        end
      end

我希望回复像

  

[{ “用户”:{ “名称”:asgd, “ID”:1, “长度”: “4”}},{ “用户”:{ “名称”:asdfg, “ID”:2, “长度”: “5”}}]

1 个答案:

答案 0 :(得分:1)

尝试:

@users = User.all
all_users = Array.new
@users.each do |user|
  all_users << {"id" => user.id, "name" => user.name,"length" => user.name.size}
end
respond_to do |format|
  format.json { render json: all_users.to_json }
end