2010-03-23 1 views
3

내 응용 프로그램에서 freindly_id를 사용하고 있습니다. 내 응용 프로그램에서 몇 가지 비품을 설치했습니다. 나는 그들에 대한 통합 테스트를하고 싶다. 테스트 중에는 friendly_id가 필요하지만 조명기에서 생성 된 DB 레코드에는 슬러그 테이블에 해당 슬러그가 없습니다.Friendly_id for fixtures (슬러그)

Fixture 데이터에서 슬러그가 자동으로 생성되지 않습니까? 그렇지 않다면 어떤 해결책이 될 수 있습니까?

답변

0

하나의 해결 방법은 테스트 환경에서 슬러그를 생성하는 레이크 작업을 실행하는 것입니다. 윈도우

>set RAILS_ENV=test 
>rake friendly_id:redo_slugs MODEL=xxx 

또는 유닉스/리눅스 레이크 작업 저자는 이전에 슬러그 업데이트를위한 당신의 자신의 스크립트/작업을 작성하는 것을 권장 FriendlyId 4에 간 것을

>export RAILS_ENV=test 
>rake friendly_id:redo_slugs MODEL=xxx 
+0

주에

기록. 가장 쉬운 방법은'MyModel.find_each (& : save)'를 콘솔에서 실행하는 것입니다. 필요한 경우 Rake 작업에 넣는 것이 매우 간단 할 것입니다. –

+0

이 솔루션에 문제가 있습니다. 귀하의 슬러그가 널이 아님을 보증하는 유효성 확인이있는 경우 이상적이지 않은 경우이를 제거하지 않으면 작동하지 않습니다. – chaostheory