신용 카드 번호와 유형을 확인하기 위해 신용 카드 검사기를 사용하고 싶습니다. 나는 여전히 레일에 비교적 익숙하지 않고 github 문서를 보았지만이 보석을 가장 효과적으로 사용하는 방법을 찾기 위해 노력하고 있습니다. 모델에 코드를 넣어야합니까? 그렇다면 얼마나 정확하게? validate_with를 사용해야합니까?레일 : 신용 카드 검사기 보석 - 사용법에 대한 좋은 예가 필요합니다.
Google 검색을 몇 번했는데이 보석을 사용하는 최선의 방법과 코드를 넣을 위치의 예를 찾을 수없는 것 같습니다.
내 명성이 여기에 총을지고 있다는 :( 다음내가 무슨 짓을 보인다 내 크레딧 카드 모델에서 나는 다음 줄 추가 :.
validates_with ValidateCreditCard
그때 파일 lib 디렉토리/validate_credit_card을 만들었을 .rb 다음과 같이
class ValidateCreditCard < ActiveModel::Validator
def validate(record)
if !CreditCardValidator::Validator.valid?(record.card_number.to_s)
record.errors[:base] << "The credit card number is not valid."
end
end
end
나는 또한 내 설정/application.rb에 다음 줄을 추가했다
config.autoload_paths += %W(#{config.root}/lib)
그러나 이렇게하는 것이 가장 좋은 방법일까요?
잘못된 신용 카드 번호를 입력 할 때 오류 메시지가 표시 될 수도 있지만 신용 카드 필드는 빨간색으로 표시되지 않으므로 전체 오류 [: base]와 방법을 조사해야합니다 그 작품.
이 유형의 유효성 검사를 수행하는 올바른 방법이라는 의견에 감사드립니다.
감사합니다.
이 프로그래밍 포럼입니다 :
나는 내 크레딧 카드 모델에 다음 줄을 추가했다. 질문을 할 때 일반적으로 지금까지 시도한 내용과 작동하지 않는 이유 (코드 스 니펫 및 오류 로그 포함)가 포함될 것으로 예상됩니다. 그렇게하면 사람들이 당신의 이해 수준과 당신이 질문하는 맥락을 판단 할 수 있습니다. –충분히 공정하게. 나는 그것을 할 수있다. 나는 실제로이 보석을 실제로 사용하는 가장 좋은 방법에 대해 주로 방향을 찾고있었습니다. 수많은 Google 검색을 시도했지만 실제 사례를 찾을 수 없습니다. 그 후 몇 가지 코드를 수행하고 업데이트 할 것입니다. 감사. – DaveInFL