지금까지 사용자에게 정수 (1, 2, 3, 4 또는 5 선택 항목)를 메시지에 대한 가능한 회신으로 보내달라고 요청했습니다. 그런 다음 다음 메시지로 이동하기 전에 사용자에게 정수를 제공합니다.사용자 입력 녹음 및 보내기
이Messages = [
{"1"=>"You chose 1.",
"2"=>"You chose 2.",
"message"=> "Pick 3 or 4. 3) Apples 4) Oranges."},
{"3"=>"You chose Apples.",
"4"=>"You chose Oranges.",
"message"=>"Pick 1 or 2. 1) [something] 2) [something]"},
]
나는 다음과 같은 호출 내 메시지를 렌더링 : 그래서 내 메시지는 다음과 같은 구조 있었다
는say "#{messages[$status.to_i][$reply]} #{messages[$status.to_i]['message']}"
는 지금은 입력 뭔가 사용자가 필요를 원래의 말처럼, 출생의 그/그녀의 날짜 (예 : 07May90은 가능한 완전한 입력이 될 수 있음). 그래서 나는 다음과 같은 경우가 필요하다.
Messages = [
{"1"=>"You chose 1.",
"2"=>"You chose 2.",
"message"=> "What is your date of birth?"},
{"DoB"=>"You chose [whatever user inputs e.g. 07May90].",
"message"=>"Pick 1 or 2. 1) [something] 2) [something]"},
]
어떻게 원래 입력을 사용자에게 다시 표시 할 수 있습니까? DoB 질문에 07May90을 입력하여 응답 한 경우 "YouMose 07May90"이라고 말하고 싶습니다. (상술 한 바와 같이). 떠오르는
음, 요청 처리를 개선하고 사용자가 생년월일을 입력했는지 확인하기위한 방법 (예 : RegEx를 통해)을 찾아야합니다. 답장을 처리 할 때 사용하는 코드를 표시하지 않으므로 대답하기가 매우 어려워집니다. 우리가 당신의'Messages' 해쉬를 볼 수 있다면 제안을하기가 정말로 어렵습니다. – Patru
요청 처리를 개선하는 방법을 잘 모르겠습니다. 그것은 정확하게 나의 질문입니다. 조사하고 싶다면 답을 처리하고 데이터베이스를 업데이트하는 데 사용되는 코드를 추가하는 질문을 편집했습니다. 나는 이것이 실행 가능한 제안을하기 쉽게 만들어주기를 바랍니다. – msc
'updateCouchDBData' 메소드가 문제의 일부를 드러내는 것 같아요. 한 번에 너무 많은 일을하려고합니다. 이것은 거의 인식 할 수 없을 때까지 사물을 혼란스럽게합니다. 먼저 세션 찾기 코드를 나머지 코드와 구분하여'find_session'과 같은 메소드에 넣고 세션을 찾은 경우에만 진행해야합니다. 그러면 위의 코드에서 언급 한'$ reply'가'추측 * '한'extra' 매개 변수를 계속해서 해석 할 수 있습니다. 솔직히 말해서, 두 부분은 현재 서로 거의 관계가없는 것처럼 보입니다. – Patru