Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/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 Rails 5是否使用强参数验证外键?_Ruby On Rails_Ruby On Rails 4_Activerecord - Fatal编程技术网

Ruby on rails Rails 5是否使用强参数验证外键?

Ruby on rails Rails 5是否使用强参数验证外键?,ruby-on-rails,ruby-on-rails-4,activerecord,Ruby On Rails,Ruby On Rails 4,Activerecord,我有一个属于某个范围的产品模型,因为我有一个范围id 用户可以更改产品的范围 用户只能访问作用域的一小部分。我想防止有人在表单中手动插入他不能选择的范围id。这些作用域是在登录会话时设置的[:scope\u id] 我想用强参数来实现这一点: def product_params params.require(:product).permit(:name, :description, scope_id: session[:scope_ids]) end 然而,这是行不通的。我在提交时仍然会

我有一个属于某个范围的产品模型,因为我有一个范围id

用户可以更改产品的范围

用户只能访问作用域的一小部分。我想防止有人在表单中手动插入他不能选择的范围id。这些作用域是在登录
会话时设置的[:scope\u id]

我想用强参数来实现这一点:

def product_params
  params.require(:product).permit(:name, :description, scope_id: session[:scope_ids])
end
然而,这是行不通的。我在提交时仍然会得到
未经许可的参数:scope\u id


最好的方法是什么?

您的模型真的被称为范围吗?“Scope”是Rails中的保留字。仅此一点就会让你头疼。你能从Rails日志文件中发布参数输出吗?你的模型真的叫做范围吗?“Scope”是Rails中的保留字。这本身就会让你头疼。你能从Rails日志文件中发布参数输出吗?