Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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 如果ID等于param不工作_Ruby On Rails_Json_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 如果ID等于param不工作

Ruby on rails 如果ID等于param不工作,ruby-on-rails,json,ruby-on-rails-4,Ruby On Rails,Json,Ruby On Rails 4,我正在尝试收集json(/groups/1/clients.json)中当前组id的所有客户端 我使用的是自定义方法,因为我还需要当前用户的所有组 无论如何;我有一个方法,如果参数[:group\u id]等于我循环的group.id,则检查当前用户的所有组的循环。如果是,;在JSON文件中输出我的客户机 现在我100%肯定params[:group\u id]和group.id存在(如果我转义if params[:group\u id]==group.id,我都能够将它们输出到JSON中 尽管

我正在尝试收集json(/groups/1/clients.json)中当前组id的所有客户端

我使用的是自定义方法,因为我还需要
当前用户的所有组

无论如何;我有一个方法,如果
参数[:group\u id]
等于我循环的group.id,则检查当前用户的所有组的循环。如果是,;在JSON文件中输出我的客户机

现在我100%肯定
params[:group\u id]
group.id
存在(如果我转义
if params[:group\u id]==group.id
,我都能够将它们输出到JSON中

尽管如此,当我使用IF语句时,我没有得到我需要的输出。有人知道为什么我的IF语句没有达到我预期的效果吗

@usersGroups = current_user.groups
if params[:group_id]
  @usersGroups.each do |group| 
    if group.id == params[:group_id]
      respond_to do |format|
          format.json { render json: group.clients, status: :unprocessable_entity }
      end
    end
  end
end
您还可以像这样清理代码:

group = Group.where(user_id: current_user.id).find(params[:group_id])
respond_to do |format|
  format.json { render json: group.clients, status: :unprocessable_entity }
end

参数通常是stringsCan,我将两者中的一个解析为string或int?最安全的方法是对组的id进行字符串化感谢编辑;不过我使用的方法是相同的,没有组id。(获取用户的“所有”组)
group = Group.where(user_id: current_user.id).find(params[:group_id])
respond_to do |format|
  format.json { render json: group.clients, status: :unprocessable_entity }
end