如果操作失败,则返回false

时间:2016-02-23 16:20:07

标签: ruby-on-rails ruby

如果方法 get_coordinate 无法获取坐标,我希望更新操作返回 false

如何重构这段代码?

我的模特:street_address,postal_code,纬度,经度

控制器(更新):

if @address.update(address_params)
       postal_code = address_params[:address_attributes][:postal_code]
       latitude, longitude =  get_coordinate(postal_code)
       @address.latitude = latitude
       @address.longitude = longitude
       @address.save
end

1 个答案:

答案 0 :(得分:0)

将您的代码更改为

if @address.update(address_params)
       postal_code = address_params[:address_attributes][:postal_code]
       latitude, longitude =  get_coordinate(postal_code)
       @address.latitude = latitude
       @address.longitude = longitude
       @address.save
       false if latitude.nil? || longitude.nil?
end