No more attr_accessible in Ruby on Rails 4

In a file called list.rb, I had

  attr_accessible :title, :user_id, :updated_at, :created_at   

When you run the tests using 'edge' Rails (4.0.0 beta), you get an error like this: "`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."

What does this mean? This blog tells you:

http://logicalfriday.com/2012/10/15/sneaking-a-peak-at-rails-4/

Remove the attr_accessible line from your models. In each of the controllers, add at the bottom something like this (for example, this is list_controller):

 private
  def app_params
    params.require(:list).permit(:title, :user_id, :updated_at, :created_at)
  end
and, where you create a new list in the controller (the create method), instead of
@list = List.create(params[:list])

 

you should have

@list = List.create( app_params )

转自:
http://rubyjunction.us/no-more-attr-accessible-in-ruby-on-rails-4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值