ruby-on-rails – Rails中的强参数3.2.8
This video表示,可以保护通过控制器进入的输入,但仍然可以通过型号和规格进行大量分配.但是,在3.2.8中使用strong_parameters时,我没有看到这是一个功能.
我明白,我需要将ActiveModel :: ForbiddenAttributesProtection混合到我的模型中,并在config / application.rb中设置config.active_record.whitelist_attributes = false.我也从模型中拉出了我所有的attr_accessible电话. 有或没有mixin我正在获得质量分配错误. ::加载ActiveModel :: MassAssignmentSecurity错误: 我错过了什么吗? 解决方法
建议的
RailsCast可能是一个很好的开始,但这里是您在Rails3.x中必须做的事情的总结,以获得强参数而不是attr_accessible:
>将gem’strong_parameters’添加到您的Gemfile并运行包. model_params = params[:model].permit( :attribute,:another_attribute ) @model.update_attributes( model_params ) 当你更新你的模型.在这种情况下,params [:model]中除属性和另一个_attribute之外的任何属性将导致ActiveModel :: ForbiddenAttributes错误. 您还可以使用ActionController :: Parameters中的其他新功能,例如.require(:attribute)强制存在属性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |