Ruby on rails 如果ID等于param不工作
我正在尝试收集json(/groups/1/clients.json)中当前组id的所有客户端 我使用的是自定义方法,因为我还需要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中 尽管
当前用户的所有组
无论如何;我有一个方法,如果参数[: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