How do I prevent deletion of parent if it has child records?

前端 未结 4 898
一生所求
一生所求 2020-12-24 01:00

I have looked through the Ruby on Rails guides and I can\'t seem to figure out how to prevent someone from deleting a Parent record if it has Children. For example. If my

4条回答
  •  轮回少年
    2020-12-24 01:40

    One possibility would be to avoid providing your users a link to deletion in this scenario.

    link_to_unless !@customer.orders.empty?
    

    Another way would be to handle this in your controller:

    if !@customer.orders.empty?
      flash[:notice] = "Cannot delete a customer with orders"
      render :action => :some_action
    end
    

    Or, as Joe suggests, before_filters could work well here and would probably be a much more DRY way of doing this, especially if you want this type of behavior for more models than just Customer.

提交回复
热议问题