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

前端之家收集整理的这篇文章主要介绍了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

猜你在找的Ruby相关文章