2009-03-26 2 views
2

나는 사용자 등록 양식을 가지고 있으며 내 등록 방법에 "captcha"를 탐지하는 사람을 작성하려고합니다. 나는 사용자가 대답 할 수있는 간단한 수학 문제를 만들기로 결정했다.Ruby on Rails 양식 (예 : 보안 문자)에서 외부 양식 필드의 유효성을 검사하는 방법은 무엇입니까?

이 필드의 값을 확인하는 유효성 검사를 어떻게 작성합니까?

그러나 이후
def validate 
    errors.add(:humanproof, "is not the right answer") if humanproof != 4 
end 

: humanproof는 사용자 모델의 일부가 아닌이는 "humanproof는"변수가 사용할 수없는 다음과 같이 내 모델 파일에 검증 방법을 썼다.

humanproof 변수에 액세스하는 가장 좋은 방법은 무엇입니까?

답변

4

가상 속성을 추가하면됩니다. RailsCasts에서 screencast을 확인하십시오.

기본적으로 클래스에 속성을 추가하려고합니다. 로직을 수행 할 필요가 없기 때문에 빌드 된 Ruby 메소드 폼 인스턴스 변수를 사용할 수 있습니다.

class Foo < ActiveRecord::Base 
    attr_accessor :humanproof 

    def validate 
    errors.add(:humanproof, "is not the right answer") if humanproof != 4 
    end 

이 데이터베이스에 저장되지 않으며 요청 기간 동안 개체에 연결된 클래스에 속성을 추가합니다.

관련 문제