2011-01-10 4 views
0

양식에 레일 유효성 검사를 사용하는 데 문제가 있습니다. 내가하고있는 일은 사용자가 즐겨 찾는 사이트 중 일부 URL을 입력하는 양식입니다. 제출할 때, create 메소드는 nokogiri를 사용하여 URL을 열고 웹 페이지의 헤더를 구문 분석합니다. 내가 실행중인 문제는 사용자가 양식을 입력하고 비어있는 경우 작성 메소드가 nil을 열려고 시도했기 때문에 오류가 발생합니다. 사용자가 양식을 입력레일 3 - 양식 검증 - 사전 테스트?

validates :url, :presence => true 

경우이 검증이 빈 텍스트 영역을 캐치하지 않으며, 유효성 검사를 확인하기 전에 경로를 열려고으로 실패 그래서 같은 방법으로 유효성 검사를 추가했습니다. 레일에 레일스를 만드는 방법이 있습니까? 내가 생성을 시작할 때 유효성 검사를 실행하고 싶습니다.

답변

0

after_validation 또는 after_create 콜백에서 nokogiri를 호출하지 않는 이유는 무엇입니까? 이렇게하면 문제를 우아하게 해결할 수 있습니다.

+0

변수를 콜백에 전달할 수있는 방법이 있습니까? 아니면 자기 만 사용할 수 있습니까? – Kombo

+0

자기 만 사용할 수 있다고 생각합니다. 그러나 해당 값 (즉, 인스턴스 속성으로 액세스 할 수 있지만 데이터베이스에 유지되지 않는 값)에 대해 모델에 쓰기 가능한 속성을 가질 수 있습니다. –