Rails Rails 4 下运行老项目 attr_accessible 错误解决方法

djeffray · 2013年03月01日 · 最后由 nightire 回复于 2013年07月31日 · 2948 次阅读

随着 Ruby 2.0 和 Rails 4.0.0 beta1 的相继发布,许多 Rails 迷都会去尝试,Rails 3、4 之间存有一定差异。对于在 Rails 3 下运行正常的项目,切换到 Rails4 下运行时会出现一些小小的问题。 目前已经遇到的问题,运行时提示:`attr_accessible` is extracted out of Rails into a gem. Please use new recommended protection model for params(strong_parameters) or add `protected_attributes` to your Gemfile to use old one. 偷懒的解决是:1、在 Gemfile 中加入gem 'protected_attributes' 2、重新bundle install

不要偷懒解决吧,否则用 4 的意义何在?看看文档就知道了,这是一个明显的变化。

#1 楼 @nightire 我觉得应该两个一起用,因为有些 model 之间的操作可能也涉及到 mass assignment 的问题,只通过 controller 来做的话这部分就很难实现了。

#2 楼 @dy1901 目的不同,你和我说得并不冲突。可能性当然存在,当很多项目都可以不用,否则也就没必要单独剥离一个 gem 出去了。lz 说的偷懒是不想用 sp,而不是你说的那种可能性,因此我说不要在偷懒,而不是不能用 gem

需要 登录 后方可回复, 如果你还没有账号请 注册新账号