2014-04-07 6 views
2

SEO 개선을 ​​위해 경로 파일을 수정해야합니다. 이것은 내 컨텍스트입니다. 레일스 백엔드에서 경로 이름이 포함 된 JSON 피드를 생성합니다.이를 읽고 기본 이름을 변경해야합니다. 예를 들어, 나는이있다 :동적으로 라우팅 이름 변경

get '/people' => 'people#show', as: :people 

을 내가 변경하려면/내 JSON 피드에서 읽을 어떤 값 명. 나는 내 응용 프로그램

class JSONDatabase 
    def initialize(kind_of_site) 
    @kind_of_site = kind_of_site 
    end 

    def fetch_database_remote(url) 
    JSON.parse(open(url).read) 
    end 
end 

에서 JSON 개체를 얻을 수있는 클래스를 생성하지만 난 그것을 파일 경로에 어떻게 액세스 할 수 있습니까? 감사합니다.

답변

0

응용 프로그램의 경로를 수정하지 않아도됩니다. 할 수있는 일은 업데이트 된 경로를 읽는 고유 한 컨트롤러로 연결되는 와일드 카드 경로를 정의하는 것입니다. 이 방법은 일종의 해킹이지만 경로를 수정하지 않고도 무제한의 경로를 제공합니다.

귀하의 설정/routes.rb 파일은 다음과 같이 보일 것이다 :

resources :defined_models 
root to: 'controller#action' 

# At last we define the wildcard route 
get '/:route' => 'routing_controller#routing_action' 

그런 다음, 우리가 보는 일을 할 수있는이 라우팅 동작에서을 경우 지금 PARAMS에 정의 된이 경로 ([: 경로] 변수)는 수정 된 변수에 해당합니다. 이 방법을 사용하면 정의되지 않은 경로를 처리하는 레일 기본 ​​방법이 느슨해지기 때문에 지정된 경로가 정의되지 않은 경우 404로 리디렉션해야합니다.