2012-01-16 1 views

답변

4

당신이 올바르게 설정 friendly_id 있다고 가정 :

match '/cities/:name' => 'cities#show' 

또는 friendly_id 보석에 대한 빠른 시작에서

resources :cities 

: 또한

class City < ActiveRecord::Base 
    extend FriendlyId 
    friendly_id :name, use: :slugged 
end 

:

여기
# If you're adding FriendlyId to an existing app and need 
# to generate slugs for an existing model, do this from the 
# console, runner, or add a Rake task: 

City.find_each(&:save) 

이 거기에 RailsCast 경우 : 최종 사용자의 경로 파일의에서 http://railscasts.com/episodes/314-pretty-urls-with-friendlyid?view=asciicast

0

이 추가 : 다음

match '*id' => 'cities#show 

당신의 CitiesController에 :

def show 
    @city = City.find(params[:id]) 
    # ... 
end 
0

이것이 도움이 될지 모르겠다. 그러나 나는 내 프로젝트에서 사용하는 것에 대한 요점을 정리했다. 그것은 주로 내 루트 파일로 무엇을 위해 일하는

https://gist.github.com/1908782

는 일반적으로 매우 간결하다.

존재하지 않는 경로를 방문하려고 시도하면 어떤 경로에도 맞지 않습니다.

부수적 인 점은 4.0 릴리스에서 깨졌습니다. 이 글을 쓰는 시점에서 다음을 gemfile에 넣어야합니다.

gem 'friendly_id', :git => 'git://github.com/norman/friendly_id.git' 

또는

gem 'friendly_id', :git => 'https://github.com/norman/friendly_id.git' 

희망이 도움이됩니다.