2012-04-14 4 views

答えて

3

私はこれを最近考えて、有効な理由のためにシーケンスダンプを1ダッシュとFriendlyIdに変更しようとしました。

このリンクは、まさにあなたの質問に答えていない:私も、私は履歴モジュールを使用して、実行していたときに見た https://github.com/norman/friendly_id/blob/master/lib/friendly_id/slugged.rb#L293-305

https://github.com/norman/friendly_id/blob/master/lib/friendly_id/slugged.rb#L87-92

しかし、ここではほんの少しより多くの情報があります作成すると、最後にシーケンスセパレータを追加して、より新しいスラグをチェックします。

例:

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

あなたは1つのダッシュにシーケンスの区切りを変更した場合、それは 'FOO-バー' と「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 

を返さ-moo 'など...

これはあなたの好奇心を満たすのに役立ちます.D

関連する問題