我想用类似的东西:如何使用strong_parameters来允许除user_id之外的所有属性?
def answer_params
params.require(:answer).permit!.without(:user_id)
end
我想用类似的东西:如何使用strong_parameters来允许除user_id之外的所有属性?
def answer_params
params.require(:answer).permit!.without(:user_id)
end
这项工作?
params.require(:answer).permit!.except(:user_id)
我只想把这个放在这里,白名单不是干的。设想一个基于文档的条目可以有多达100个(或更多)属性(键值对)的JSON API。通常,您需要关注的唯一部分是可以升级user_id等特权的属性。
只需从控制器中分离出白名单,然后在多个类中重复使用。这将解决这个问题。 – IvRRimUm 2017-02-28 16:28:29
尽管解决方案是正确的,但重要的是要记住(关于原始问题)这是一个危险的解决方案。处理允许的属性时,您应该使用白名单方式,而不是黑名单。 – 2013-04-21 07:59:39
@SimoneCarletti在许多情况下,白名单方法确实过度,黑名单并不危险。并非每个模型都代表着重大的安全威胁。威胁需要根据具体情况进行评估。 – 2014-06-24 20:13:07