Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在rails中的每个数组中包含一个变量?_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

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

Ruby on rails 如何在rails中的每个数组中包含一个变量?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有用户模型,我希望用户列表为json,我希望名称的长度以及每个用户的响应,但我不知道如何才能做到这一点?我按如下所示进行了尝试,结果导致双渲染错误。如果我从循环中获取respond_to,那么它什么也不返回。所以请帮帮我 @users = User.all @users.each do |user| length = user.name.count respond_to do |format| format.json { render js

我有用户模型,我希望用户列表为json,我希望名称的
长度
以及每个用户的响应,但我不知道如何才能做到这一点?我按如下所示进行了尝试,结果导致
双渲染
错误。如果我从循环中获取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”}]

尝试:

@users=User.all
所有用户=Array.new
@用户。每个do |用户|
所有用户user.id,“name”=>user.name,“length”=>user.name.size}
结束
回应待办事项|格式|
format.json{render json:all_users.to_json}
结束
试试:

@users=User.all
所有用户=Array.new
@用户。每个do |用户|
所有用户user.id,“name”=>user.name,“length”=>user.name.size}
结束
回应待办事项|格式|
format.json{render json:all_users.to_json}
结束

您所需的响应不包含任何长度。我如何添加方法以及as format.json{render json:all_users.to_json,:methods=>[:pic_url]}?您所需的响应不包含任何长度。我如何添加方法以及as format.json{render json:all_users.to_json,:methods=>[:pic_url]}?大小不起作用。所以我使用了count,有时没有名字,然后它会为nil:NilClass
user.name显示未定义的方法“count”。try(:length)
也应该防止没有名字。json{render json:all_users.to_json,:methods=>[:pic_url]}我如何添加方法以及as format.json{render json:all_users.to_json,:methods=>[:pic_url]}?但它添加了“methods”:[“pic_url”]除了响应,而不是url对不起,我已经更正了,正如您所说,我使用了pic_url=>user.pic_url,而不是:methods=>[:pic_url]。无论如何谢谢你。尺码不合适。所以我使用了count,有时没有名字,然后它会为nil:NilClass
user.name显示未定义的方法“count”。try(:length)
也应该防止没有名字。json{render json:all_users.to_json,:methods=>[:pic_url]}我如何添加方法以及as format.json{render json:all_users.to_json,:methods=>[:pic_url]}?但它添加了“methods”:[“pic_url”]除了响应,而不是url对不起,我已经更正了,正如您所说,我使用了pic_url=>user.pic_url,而不是:methods=>[:pic_url]。无论如何谢谢你。
@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