我有一个 Rails 应用程序试图在用户表中一次更新多个用户。我尝试提供多个用 ',' 分隔的 id,但失败并出现“无路由匹配”之类的错误,我创建了一个自定义方法“assign”,路由指定为,
"assign/:id" => "users#assign" , :via => [:put]
我正在尝试通过 POSTMAN REST Client 进行更新。
我的 PUT 请求,
http://localhost:3000/assign/6,7,8 --- PUT
数据:
{
"users":[
{
"trainerid":4
},
{
"trainerid":5
},
{
"trainerid":6
}
]
}
亩控制器
def assign
@ids = params[:id].split(",")
@users = params[:users]
@ids.each_with_index do |i|
@user = User.find(i)
@user.updateattributes(@users[index])
end
render :json => { :status => :ok, :message => "User Updated Successfully"}.to_json
end
在这里,我试图trainerid
在用户表中更新id: 4 ,5 ,6
是否可以通过其他方式更新。
任何帮助表示赞赏......