Ruby on rails 3.2 “友好型”身份证是否不适用于“偏执型”行为

Ruby on rails 3.2 “友好型”身份证是否不适用于“偏执型”行为,ruby-on-rails-3.2,friendly-id,acts-as-paranoid,Ruby On Rails 3.2,Friendly Id,Acts As Paranoid,在联系人模型中添加记录时出现以下错误 Mysql2::Error: Duplicate entry 'john-doe' for key 'index_contacts_on_cached_slug': UPDATE `contacts` SET `cached_slug` = 'john-doe', `company` = 'XYZ-company-name', `first_name` = 'John', `last_name` = 'Doe', `prefix` = NULL, `suff

在联系人模型中添加记录时出现以下错误

Mysql2::Error: Duplicate entry 'john-doe' for key 'index_contacts_on_cached_slug': UPDATE `contacts` SET `cached_slug` = 'john-doe', `company` = 'XYZ-company-name', `first_name` = 'John', `last_name` = 'Doe', `prefix` = NULL, `suffix` = NULL, `title` = NULL, `created_at` = '2012-04-07 06:25:37', `updated_at` = '2012-04-07 06:25:37', `deleted_at` = NULL WHERE `contacts`.`id` = 314
接触模型看起来像

acts_as_paranoid

has_friendly_id :full_name, :use_slug => true, :approximate_ascii => true, :allow_nil => true,
    :sequence_separator => '_', :max_length => 20
现在的情况是,如果添加了一个具有类似名称的新联系人,并且现有联系人是偏执狂,那么friendly_id将无法找到该记录并创建一个具有类似名称的新slug,但联系人模型不会接受它,因为该slug名称已经存在

<> P>有一种方法可以让朋友们考虑偏执记录,也就是使用类似< < /P>之类的东西。
scope=>:删除联系人后

我将使用acts\u作为联系人模式的偏执狂以及友好id。软删除联系人会删除我的slug记录,这是不应该发生的。有没有办法避免这种依赖性?我怎么能推翻Slug模型?出于好奇。。。您使用的是friendly_id 3.x吗?抱歉,耽搁了。是的,使用friendly_id 3.3.2,但我现在正在迁移到friendly_id 4.x ThanksGreat!这将使:slug列保持圆滑。。如果您使用的是历史模块,请务必小心。。我很想知道你是怎么做到的。谢谢,我决定放弃迁移到friendly_id 4.x的想法。虽然我找到了引发异常的实际原因。我在多态关联中使用的是销毁依赖项。因此,我必须删除这些依赖项并覆盖删除方法。我正在使用acts_as_paranoid for Contact model以及友好的_id。软删除联系人会删除我的slug记录,这是不应该发生的。有没有办法避免这种依赖性?我怎么能推翻Slug模型?出于好奇。。。您使用的是friendly_id 3.x吗?抱歉,耽搁了。是的,使用friendly_id 3.3.2,但我现在正在迁移到friendly_id 4.x ThanksGreat!这将使:slug列保持圆滑。。如果您使用的是历史模块,请务必小心。。我很想知道你是怎么做到的。谢谢,我决定放弃迁移到friendly_id 4.x的想法。虽然我找到了引发异常的实际原因。我在多态关联中使用的是销毁依赖项。因此,我们必须删除这些依赖项并重写delete方法。