ruby-on-rails – 如何在rails 4中使用update_attributes?

目前我正在将我的应用程序从rails 3.2升级到rails 4.
得到以下错误.
ArgumentError (argument out of range):

由于以下代码行而发生此错误

@lease.update_attributes(params[:lease])

我试过更新,也抛出相同的错误.
是否从rails 4中删除了update_attributes.如何使用它?

码:

def terms_build_methods
  if @lease.blank?
    @lease = params[:current_lease_id].present? ? Lease.find_by_id(params[:current_lease_id].to_i) : Lease.create(params[:lease])
  else
    @lease.update(lease_params)
  end
  Lease.update_lease_occupancy_type(@lease)
  Lease.update_lease_status(@lease)
end

private

def lease_params
  params.require(:lease).permit!
end

解决方法

只需使用@ lease.update(lease_params)这个,并在控制器中添加一个私有方法
def lease_params
  params.require(:lease).permit!
end

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...