我有两张桌子预订和租赁。用户预订汽车租赁,管理员批准租赁。
由管理员批准租赁。不再需要预订。如何在创建租赁记录的同时删除预订记录。
这是我的尝试(如果我是愚蠢的话,我是红宝石的新手,所以这是一种愚蠢的行为)
#rental_controller.rb
after_create :delete_booking
def delete_booking
@booking = Booking.find(params[:id])
@booking.destroy
respond_to do |format|
format.html { redirect_to rental_url }
format.json { head :no_content }
end
end
答案 0 :(得分:1)
创建属于模型后,而不是控制器。我假设您有一个租赁模型,因为该片段来自租赁控制器。
在租赁模式中:
after_create :delete_booking
def delete_booking
@booking = Booking.where(:booking_no => self.booking_no).first
@booking.destroy
end
答案 1 :(得分:0)
理想情况下......
# Booking.rb Model
has_one :booking
和
# Rental.rb Model
belongs_to :booking, :class_name => "Booking", :foreign_key => "booking_no"
after_create :delete_booking
private
def delete_booking
self.booking.destroy
end