2012-04-14 38 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

相关问题