2009-10-21 3 views
0
다음과 같이 내 모델에서 validates-existence-of-uri라는이 플러그인을 사용하고

:레일 환경 특정 검증

class Project < ActiveRecord::Base 
    validates_uri_existence_of :link, :allow_redirect => false 
end 

그것의 작업과 훌륭한. 그리고 Faker를 사용하여 데이터를 시드하는 seeds.rb 파일이 있습니다. 데이터를 시드하는 동안 위의 유효성 검사는 위조 된 URL을 확인하려고 시도하며 데이터를 시드하는 동안 해당 유효성 검사에 대해 의견을 말하게됩니다.

그래서 씨 뿌리기를 할 때마다 그 성가신 저. Rails 환경이 생산중인 경우에만 유효성 검사를 수행 할 수있는 방법이 있습니까 ??

if Rails.env.production? 
    validates_uri_existence_of :link, :allow_redirect => false 
end 

하지만이 작업을 수행하지 마십시오 :

답변

2

엄격하게 귀하의 질문에 대답합니다. 그것의 총 해킹, 난 당신이 아마 몇 가지 간단한 같은 테스트 URL을 생성하기 위해 더 나은 방법을 알아내는 더 나을 거라고 생각 :

VALID_URLS = %w(http://google.com http://yahoo.com http://stackoverflow.com) 

... 

Project.create(:uri => VALID_URLS.rand) 

ActiveSupport는 임의의 요소를 반환 배열에 랜드 인스턴스 메소드를 추가합니다.

+0

안녕 벤, 사실 테스트를 위해 저는 Fakeweb과 그 위대한 것을 사용하고 있습니다. rake db : seed 명령을 통해 데이터를 시드하는 동안 걱정됩니다. 이 명령을 실행하는 동안 개발 env 데이터베이스를 채 웁니다. 다른 방법은 없습니까 ?? – Autodidact

+0

흠, 미안하지만 나는 네 상황을 이해하지 못한다고 생각해. 당신 seeds.rb를 게시 할 수 있습니까? 또는 좀 더 설명해 주시겠습니까? – Ben