要弄明白Rails 4 中Strong Parameters机制,首先我们要看看Rails3中的Parameters

在 Rails3 中创建或更新 Active Record 对象时,会有 Mass Assignment 安全问题。所以 Model 中需要列一个白名单,声明哪些属性可以被 parameter 的数据更新。
Rails 3
# kings_controller.rb
def create
#{ name: ‘David', sex:male, age: 31}
@king = King.new(params[:king])
if @king.save
redirect_to @king
else
render 'new'
end
end
# king.rb
class King
attr_accessible :name
end
Rails 4
Rails 4 引入了 Strong Parameters 的机制,Model 不再负责白名单的维护,把过滤非法属性的职责推给了 Controller。
# kings_controller.rb
def create
# new parameter { name: ‘David' }
@king = King.new(king_params)
if @king.save
redirect_to @king
else
render 'new'
end
end
private
def king_params
# old parameter { name: ‘David', sex:male, age: 31}
# new parameter { name: ‘David' }
params[:king].permit(:name)
end
# king.rb
class King
end
什么是 Strong Parameters?
说白了 Strong Parameter 其是就是一层白名单过滤。
View 层穿过来的数据会转化为一个 ActionController::Parameters 对象
过滤老的 ActionController::Parameters 对象,生成一个新的 ActionController::Parameters 对象。
* 只保留白名单属性
* 实例变量 @permitted 赋为 true
把过滤后的 ActionController::Parameters 对象传给 model,创建或更新对应的的 ActiveRecord 对象。
可以硬传给 model,霸王硬上弓吗?
未经 Strong Parameter 过滤的 ActionController::Parameters 对象的 @permitted 为 false(过滤后为 true)。如果硬传给 Model,会报错 ActiveModel::ForbiddenAttributesError 。
相关推荐:
优化,让生活与工作更高效-从个人到企业的全面升级,广州百度seo费用
ChatGPT的诞生,预示着人工智能大规模应用的时代已经来临,ai此生不渝
AI免费生成文章让创作变得轻松自如
SEO学堂:开启数字营销新时代,全面提升网站排名与流量,文山ai营销推广方案
SEO部:开启数字化营销新纪元的幕后英雄,株洲营销推广是什么公司
主流seo是什么,seo是什么推广网站 ,AI心理师
seo都有什么意思,seo 啥意思 ,ai园林
seo网络推广要做什么,seo 网络推广 ,ai少女喝药
seo自己做什么,自己做seo需要花钱吗 ,ai850775
为什么做抖音seo,为什么做抖音推广 ,描边ai虚线
360AI写作怎样?助力创作的新风尚,ai到访
seo软文用什么论坛,seo软文是什么意思 ,爱字幕的AI变脸不见了
亚马逊seo信息是什么,亚马逊seo关键词优化软件 ,光谷ai
ChatGPT崩溃!用户反馈网页端无法访问,修复急需,ai院子
“爱站”:开启网站优化与流量增长的新纪元,seo入门ppt
SEO优化流程:助力网站快速提升排名的关键策略,1745ai
SEO快排还有效果吗揭秘快速排名的真相与未来趋势,ai人像波普
seo渠道优化是什么,seo渠道推广怎么做 ,ai121333
ChatGPT支持多种语言输入输出,让全球资讯触手可及,联想拯救者的ai写作
ChatGPT常见问题汇总:解答你关于AI的一切疑惑,松鼠ai智能教适应教育
SEO大神如何在激烈的互联网竞争中脱颖而出?,网页设计和网站建设试题
seo网站排名关键词优化,seo网站关键词优化怎么做 ,ai回廊
AI免费生成:开启智能创作新纪元,助力你的创意无限可能
优化整站,让网站飞速增长,打造行业竞争力,广东网站建设与维护
好用的AI写作工具,提升写作效率与创意的最佳选择
SEO考核:如何通过精准的SEO优化提升网站排名与流量,茶艺营销推广方案怎么写
seo独立站是什么,独立站推广是什么 ,ai曲线笔刷扩展
GPT在什么时候被人熟知的?从技术突破到广泛应用的背后故事,ai商业新思维ai课程
AI软件不用登录,让你的工作更高效轻松,智能ai写作改稿怎么改
SEO每日:提高网站流量的秘密武器,助你脱颖而出,seo优化和排名技巧
ChatGPT当前不可用?背后的原因与解决方案全解析,ai propos
ChatGPT一经发布,便受到了用户的狂热追捧,引爆人工智能热潮,十代ai达人办公本
SEO领站-从零到一打造成功网站排名的秘密,轻淘客seo怎设置
“收录量为1”,打造数字化时代的独特竞争力,网站建设页面制作流程
什么是seo行业,seo是什么职业做什么的 ,ai标题字体效果
从零到一:网站历史的演变与未来趋势,肇庆市国外网站建设平台
文章AI扩写:突破创作瓶颈,提升写作效率的秘密武器
seo适合什么行业,seo适合的行业 ,在ai如何矢量化
SEO门户:打造高效网站流量的关键利器,创意网站建设要求
优化型网站:提升企业竞争力的必备利器,重庆网站推广工作如何
自动写文章的AI,提升效率的创作利器
SEO优化要钱吗?揭秘SEO投资背后的价值与回报,ai领域
ChatGPT登录503错误?轻松解决,快速恢复畅享智能体验!,ai怎么加植物材质效果
Chatttst:开启智能沟通新时代的无限可能,上海联通ai
SEO武汉:如何提升武汉地区网站的搜索引擎排名,景区网站建设费用
AI搜索相似文章怎么做?揭秘高效文章检索的核心技术!,程式ai软件
ChatGPT充值打不开?这几招教你轻松解决问题!,免费的ai写作绘图
SEO模板:提升网站排名,助你快速抢占搜索引擎流量高地,选择seo职业缺点
互联网资源的无限潜力:如何利用数字世界为个人和企业创造价值,信阳网站建设正规公司
SEO新人必读:从零开始SEO的核心技巧与实践指南,网站邮件推广设计