Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.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 可以验证表单值吗_Ruby On Rails_Authorization_Cancan - Fatal编程技术网

Ruby on rails 可以验证表单值吗

Ruby on rails 可以验证表单值吗,ruby-on-rails,authorization,cancan,Ruby On Rails,Authorization,Cancan,有没有一种方法可以通过cancan授权表单元素?下面的代码有一个代理选择框,它只列出当前用户可以访问的代理,但有人可以编辑表单并更改代理的id,这样他就可以将品牌添加到另一个代理。有没有办法限制cancan中的这些类型的内容,如果没有,我如何检查值 can :read, Agency, :id => user.agencies_as_admin can :create, Brand 形式 您无法阻止用户故意向您的应用程序发送未经授权的数据,因此在实际创建品牌资源之前,您必须在更新中

有没有一种方法可以通过cancan授权表单元素?下面的代码有一个代理选择框,它只列出当前用户可以访问的代理,但有人可以编辑表单并更改代理的id,这样他就可以将品牌添加到另一个代理。有没有办法限制cancan中的这些类型的内容,如果没有,我如何检查值

can :read, Agency, :id => user.agencies_as_admin
can :create, Brand
形式





您无法阻止用户故意向您的应用程序发送未经授权的数据,因此在实际创建品牌资源之前,您必须在更新中检查授权并创建控制器的操作。差不多

agency = Agency.find(params[:brand][:agency_id])
authorize! :read, agency
agency = Agency.find(params[:brand][:agency_id])
authorize! :read, agency