0

在我的 Rails 4 应用程序中,我目前正在将我的逻辑移动到我的模型中。

我的模型中的一种方法更改了预订状态:

def withdraw
  if self.status == 1 #only allow bookings with status 1 to be updated
    self.status = 2
    GuestMailer.booking_withdrawn(self).deliver
    save!
  end
end

我从我的BookingsController调用该方法,如下所示:

if @booking.withdraw
  flash[:success] = 'The booking has been withdrawn'
end

我的问题是我应该save!在模型中使用,因为我只是在更新?

4

1 回答 1

0

您可以save!在此方法中使用。但是,可以将该方法重命名为,withdraw!以表明该方法会更改对象的状态并在无法保存模型时抛出异常。

于 2013-10-01T17:46:27.687 回答