레일스 - 생성 된 URL을 친숙한 URL로 수정하는 방법
처럼 보이는 모델이 있습니다.search.rb:
id eg: 101
name eg: San Francisco
cars.rb
id
name
검색 컨트롤러가 사용자를 자동차로 리디렉션합니다.
search_controller.rb
if search.search_type=='cars'
redirect_to :controller=>'cars', :action=>'index', :id=>search
end
샌프란시스코에서 자동차 목록을 찾는 쿼리는 다음과 같습니다.
http://localhost/cars?id=101
search.rb의 to_param 메소드를 다음과 같이 덮어 씁니다.
search.rb
def to_param
normalized_name = name.gsub(' ', '-').gsub(/[^a-zA-Z0-9\_\-\.]/, '')
"#{self.id}-#{normalized_name}"
end
어느 정도까지 작동합니다. 다음과 같은 URL을 생성합니다.
http://localhost/cars?id=101-San-Francisco
그러나
http://localhost/cars/San-Francisco
처럼 보이는 URL을 생성하고 싶습니다. 경로를 수정합니까?
귀하의 도움에 감사드립니다.