0
건물중인 앱에서 사용자가 이름 및 성을 저장할 수 있습니다. 이름은 필수 사항이지만 성은 없습니다. 어떤 경우에는 존재하지만 어떤 경우에는 그렇지 않습니다.문자열 찾기 및 바꾸기
다음 논리를 사용하여 LNAME을 연락처의 성으로 대체하려고 시도했습니다.
def replace_names
self.message.gsub! 'LNAME', contact.last_name
self.message.gsub! 'FNAME', contact.first_name
#METHOD 2
#h = {"FNAME" => contact.first_name,"LNAME" => contact.last_name}
#self.message.gsub!(/\w+/) { |m| h.fetch(m,m)}
#METHOD 3
#self.message.gsub!(/[FNAMELNAME]/, 'FNAME' => 1, 'LNAME' => 2)
end
이름과 성이 모두 존재하면 로직 (주석 처리되지 않은 로직)이 완벽하게 작동합니다. 그러나 성이 없으면 그 결과는 그 자리에 있습니다. 일부 장소에서는 LNAME이 LNAME으로 표시되며 일부 장소에서는 표시되지 않습니다.
나는 다른 몇 가지 SO 솔루션을 거쳤으며 성이 없을 때 예상대로 작동하지 않았습니다. 나는 정말로 제안을 감사 할 것이다.
다른 데이터베이스 컬럼의 LNAMEs 있습니까 빈 문자열 등 텍스트 필드, PARAMS, 변수로 'LNAME'를 교체해야합니까? 'self.message'는 무엇입니까? 도움이 필요하시면 조금 더 많은 정보가 필요합니다. – nikkon226
@ nikkon226 LNAME은 DB의 다른 열이며 문자열입니다. self.message는 text_area에서 사용자가 입력 한 메시지를 참조합니다. 기본적으로 연락처 드롭 다운, 제목 줄 및 메시지 영역이있는 전자 메일 양식/모델과 같습니다. – jasonng