我在看书《Agile Web Development with Rails (4th edition) 》看到第九章时,遇到这么一个问题: Can't mass-assign protected attributes: product
源代码和书上的一样,已经托管到 Github 上: https://github.com/diguage/depot 下载后直接运行,打开 http://127.0.0.1:3000/ 点击“Add to Cart”按钮就能看错误。
麻烦熟悉 Rails 的朋友帮忙指点一下,哪里错了?如何解决?谢谢!
补充 发现这个问题后,看来@huacnlee 给的链接内容。发现可能是需要添加 attr_accessible,在 LineItem 末尾,增加 attr_accessible :product 之后,果然可以了。
后来@Heson 也遇到了这个问题。然后,就如上面那样回复。今天又看了一篇帖子,针对这个问题的渊源讲解的更透彻,贴出来,希望对遇到这个问题的朋友有所帮助:
從 Github 被 Hack,談 Rails 的安全性(Mass-assignment) http://blog.xdite.net/posts/2012/03/05/github-hacked-rails-security/