HTML 폼의 값이 데이터베이스의 값과 같은지 확인하려면 true 대신 false를 반환합니다.Ruby에서 데이터베이스 (SQLite3) 값을 사용하는 방법
코드가 더 필요합니까?
코드 :
password = params[:password]
password_db = @db.execute('SELECT password FROM dtbs WHERE username=?', [params[:username]])
puts password #returns llol123
puts password_db #returns llol123
check = (password==password_db)
puts check #returns false
암호 문자열 앞뒤에 공백 기호가있을 수 있습니다. 즉 [llol123] 대신 [llol123] 또는 [llol123]이 있습니다. 그럴 경우이 문제가 발생할 수 있습니다. "[# {password_db}]"을 넣고 "[# {password}]"를 넣어 원하지 않는 공백이 있는지 확인하십시오. – Valdis
직접 쿼리를 작성하는 대신 ORM을 사용하는 것이 좋습니다. [Sequel] (http://sequel.jeremyevans.net)이 제 권유입니다. 좋은 ORM을 사용하면 코드에 집중하고 쿼리 생성을 처리 할 수 있습니다. 다른 DBM으로 변경하려면 연결 정보 만 변경하고 ORM은 나머지를 자동으로 처리합니다. –