나는 username, last_name 및 first_name에서 문자열을 확인해야하는 간단한 검색 기능을 구현하고 있습니다. 나는 오래된 RailsCast에이 액티브 방법을 본 적이 : 그것은 이름, LAST_NAME과 이름의 키워드를 검색하고 경우 레코드를 반환하도록레일스 ActiveRecord - 다중 속성 검색
http://railscasts.com/episodes/37-simple-search-form
find(:all, :conditions => ['name LIKE ?', "%#{search}%"])
하지만 내가 그것을 어떻게해야합니까 필드 중 하나가 용어와 일치합니까?
RailsCast의 코드가 SQL 삽입에 취약한 지 궁금합니다.
고마워요! 나는 당신의 모델 이름을 가정
는
내가 필요한 것. 그것을 분명히 설명해 주셔서 감사합니다! – maru
컨트롤러가 단지'params [: search]'가 아닌'params '전체를 전달하도록 변경되고 쿼리에서'% # {params [: search]} %'대신'% # {search} % "'. 여전히 SQL 인젝션의 영향을받지 않습니까? – Dennis
@Dennis 그렇습니다. 당신이 사용하는 한? 당신은 괜찮습니다 쿼리에서 그들을 대체하기 위해 추가 인수를 전달합니다. –