2013-10-30 3 views
-2

건물 기반 우편 번호 목록을 반환하는 간단한 검색 쿼리가 있습니다. 우편 번호는 건물과 주소에 일대일 관계가있는 주소 테이블에 저장됩니다. 이제 여러 우편 번호를 기반으로 건물을 검색해야합니다.ruby ​​on rail 검색 우편 번호를 기반으로 검색

<input type="text" 
     name ="fs_Zip[]" 
     class="input-small text-tip" 
     data-original-title="Enter Zip Code to search." 
     placeholder ="Zip Code"/> 

이것은 내보기에있는 코드입니다. 및 컨트롤러 내

buildings = buildings.where('address.zip in (?)', params['fs_Zip']) 
if (!params["fs_Zip"].blank? && params["fs_Zip"] != 'zipcode') 

그러나 원하는 결과를 얻지 못합니다. 도움이 필요해. 만약 내가 제대로 이해하고

+1

질문이 생겼습니다. 그건 정말 유선처럼 보인다. – Oleander

+1

동의. 달성하고자하는 것은 무엇입니까? – Severin

+0

건물과 주소는 어떻게 관련되어 있습니까? – Amar

답변

1

, 쿼리는 다음과 같이 뭔가 더 보일 것입니다 :

buildings = Building.joins(:address).where('addresses.zip in (?)', params['fs_Zip']) 

을하지만 당신은 params['fs_Zip'] 그 쿼리에 대한 적절한 형식 (지퍼의 즉, 배열)에 있는지 확인해야합니다.

+1

'?'구문을 사용하여'where'가 sql injection 문제를 처리해야합니다. – house9

+0

그래, 그게 확실하지 않았습니다. – hiattp

+0

그게 내가 붙어있어, 사용자가 여러 우편 번호를 선택할 수있는 우편 번호를 통해 검색 할 수있는 autopopulate를 제공합니까 아니면 차례로 나는 그들을 반환 할 수있는 다른 방법이 있습니다 – user2444620