2011-01-30 1 views
1

friendly_id gem docs에서 모든 슬러그가 생성되는 테이블 slugs을 생성합니다. 또한 cached_slugs를 사용하여 성능을 향상시키기 위해 내 모델 테이블에 열을 추가 할 수있는 기회를 제공합니다.friendly_id 보석을 사용할 때 슬러그 테이블이 필요합니까?

내 질문 : 모델 테이블에 cached_slugs 열을 사용하더라도 slug table이 필요합니까? 데이터가 중복 될 수 있습니다. 내 슬러그 테이블을 삭제하려고했지만 데이터베이스에 새 항목을 만들 때 오류가 발생했습니다.

답변

2

friendly_id와 함께 slugs를 사용하려면 slugs 테이블을 사용해야합니다. friendly_id 있음 많은 슬러그가 동일한 리소스를 참조 할 수 있지만 슬러그는 퍼머 링크가 아니며 단지 친숙한 이름입니다. friendly_id보다 ligter가 필요한 경우 stringex를 사용하는 것이 좋습니다.

https://github.com/rsl/stringex

하지만, 어쨌든, freindly_id 일 위대하고 빠른 cached_slug 항목을 사용.

UPDATE : 당신이 slug history 옵션을 사용하지 않는

friendly_id (4.0)의 현재 버전은 slug 테이블을 필요로하지 않습니다. 가능 여기

더 많은 정보 : Example SetupHistory 소제목 아래 http://rubydoc.info/github/norman/friendly_id/master/file/Guide.rdoc

봐.

+0

다른 방법으로는 우습게도 쓰지 않고 friendly_id를 사용할 수 있습니다 use_slug = false options ...하지만 우호적 인 id의 거의 모든 이점을 잃게됩니다 – andrea

+0

답장을 보내주십시오! – daniel

+0

friendly_id에 고유 한 슬러그 이름을 사용하는 방법이 있습니까? 따라서 유효성 검사를하고 동일한 이름의 배수를 허용하지 않습니다. 더 이상 --1 및 --2 ?? –