2012-04-14 64 views

回答

3

最近我想到了這個,並試圖將序列分隔符更改爲1,並且FriendlyId抱怨,顯然是出於正當理由。

此鏈接並不完全回答你的問題: https://github.com/norman/friendly_id/blob/master/lib/friendly_id/slugged.rb#L87-92

然而,有一點點更多的信息在這裏: https://github.com/norman/friendly_id/blob/master/lib/friendly_id/slugged.rb#L293-305

我也看到,當我使用的歷史模塊,並執行一個創建,它通過將序列分隔符添加到最後來檢查更新的段落。

如:

Category.create(:name => 'foo') 

返回下面的SQL查詢

(0.1ms) BEGIN 
FriendlyId::Slug Load (49.9ms) SELECT "friendly_id_slugs".* FROM "friendly_id_slugs" WHERE "friendly_id_slugs"."sluggable_type" = 'Category' AND (slug = 'foo' OR slug LIKE 'foo--%') ORDER BY LENGTH(slug) DESC, slug DESC LIMIT 1 

如果更改序列分離到1個破折號,它會匹配像「富酒吧」和「富蛞蝓項目-moo'等...

希望這有助於滿足你的好奇心:D

相關問題