2014-01-06 2 views
0

나는 다중 차일드 폼을 가지고있어서 결국에는 보안 문자가 필요하다. 기본적으로 사용자는 초안을 작성/업데이트 할 수 있지만 모든 것이 완료 될 때까지 관리자 검토를 위해 제출하지 않아야합니다. 마지막 제출물을위한 captcha가 있지만 문제는 양식에 추가 할 때 captcha가 채워지지 않아 다른 제출 버튼을 사용할 수 없다는 것입니다. 이 주위에 어떤 방법이 있습니까?Multipart Form Rails가있는 보안 문자

저는 simple_captcha과 레일즈 3.2를 사용하고 있습니다.

감사합니다.

답변

0

이전에 simple_captcha를 사용하지 않았지만 모든 경우에 @object.save_with_captcha을 수행하는 것처럼 보입니다. 이 문제를 해결할 수있는 옵션은 여러 가지가 있지만, 하나는 다음과 같습니다.

컨트롤러에서 모든 입력란이 채워 졌는지 확인한 다음 입력 한 경우 @object.save_with_captcha을 사용하여 개체를 저장하고, 그렇지 않으면 보통 @object.save을 수행하여 captcha 검증을 실행하지 않을 것입니다. 다음과 같은 내용 :

def create 
    @object = MyObject.new(params[:my_object]) 
    if @object.has_mandatory_fields_filled? 
    @object.save_with_captcha 
    else 
    @object.save 
    end 
end 

has_mandatory_fields_filled? 메소드를 사용하면 양식의 모든 필수 필드가 비어 있지 않음을 확인할 수 있습니다.