2012-02-23 2 views
0

사용자 트위터 사용자 이름의 유효성을 검사하고 사용자 지정 유효성 검사를 작성하려고합니다. 그러나 그것은 irb 세션에서 작동하는 것처럼 보일지라도 작동하지 않습니다. 트위터 사용자 이름이 유효한 경우에도사용자 지정 유효성 검사가 작동하지 않습니다. 레일 모델

def twitter_user 

      errors.add(:twitter, (" username does not exist")) unless begin Twitter.user :twitter 
      rescue Twitter::Error::NotFound => e 

      end 

     end 

이 오류가 나타납니다 : 이것은 내가

나는 또한이 시도했습니다
def twitter_user      
     begin 
      @t = Twitter.user :twitter 
     rescue Twitter::Error::NotFound => e 
      @t = nil 
     end 

     errors.add(:twitter, (" username does not exist")) if @t.nil? 

    end 

이 코드입니다. 왜 그 이유를 설명 할 수 있습니까? 덕분에 도와 줘서 고마워.

편집 : 나는 그것을 통과하는 매개 변수로 좁혔습니다 : 트위터는 사용자로부터의 입력이 아닙니다. 사용자가 전달한 값을 얻으려면 어떻게해야합니까?

+0

'시작을; Twitter.user : 트위터; 구조 Twitter :: 오류 :: NotFound; errors.add (: twitter, "username does not exist"); end' – Reactormonk

+0

이것은 같은 문제로 끝납니다. 내가 바라 보는 뭔가가 있는지 궁금해. 단지 그것이 irb 세션에서 작동하는 것을 보는 것은 혼란 스럽습니다. – Hugs

+0

시도하십시오 errors.add_to_base ("username does not exist") .. 이것은 객체에 오류를 추가합니다 .. 특정 필드 errors.add (: twitter, "username does not exist"). 이 코드가 – Jak

답변

0

당신은 당신이 전을위한

모델의 validate 메소드를 추가 할 수 있습니다

validate :user_is_exist 


def user_is_exist 
    errors.add(:twitter, (" username does not exist")) if @t.nil? 
end 
관련 문제