Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails属于依赖关系_Ruby On Rails_Ruby_Activerecord - Fatal编程技术网

Ruby on rails Rails属于依赖关系

Ruby on rails Rails属于依赖关系,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,最好的方法是检查模型关系是否在另一个模型中使用,以防止它被破坏从而创建孤立 示例:我有一张票和一张票Status型号。票证状态属于票证。这张票有很多票 如果已将TicketStatus分配给票证,我将无法删除它。我想一个错误消息以及 回调的最简单方法: class TicketStatus < ActiveRecord::Base belongs_to :ticket before_destroy :check_ticket private def check_tick

最好的方法是检查模型关系是否在另一个模型中使用,以防止它被破坏从而创建孤立

示例:我有一张票和一张票Status型号。票证状态属于票证。这张票有很多票


如果已将TicketStatus分配给票证,我将无法删除它。我想一个错误消息以及

回调的最简单方法:

class TicketStatus < ActiveRecord::Base
  belongs_to :ticket
  before_destroy :check_ticket

  private

  def check_ticket
    if ticket != nil
      errors.add_to_base("cannot delete ticket status that has a ticket")
      return false
    end
  end
end
class TicketStatus
这会阻止它并给您一个错误

希望这有帮助

使用,并确保
返回false
,这将取消即将进行的删除