2011-12-10 5 views
14

나는 nginx를 특정 하위 폴더앞에 추가 경로 접두어는

예를 들어 내부 레일 응용 프로그램을 제공하는 설정이 있습니다. http://myserver/railsapp/ 그리고 모든 내용은 레일스로 프록시 처리됩니다. 첫 번째 하위 폴더가 다른 경우 다른 폴더에서 정적 파일을 처리합니다.

지능적인 방법으로 레일에서이 동작을 지정하는 방법을 찾을 수 없었습니다. 내 말은, 내가 원하는 것은 Rails.server_prefix = /railsapp과 같은 옵션을 지정하여 들어오는 요청과 생성 된 링크 모두에서 모든 경로가 자동으로 미리 추가되도록하는 것입니다. 인수 경로 :

답변

30

당신은 아마와 라우터의 범위 방법을 사용하려면`

Rails.application.routes do 
    scope(:path => '/railsapp') do 
    # the rest of your routes go here 
    end 
end 

See the docs for more info.

+0

이이 경로 생성을 위해 일하는 것이 있지만, 레일 3.1이 인식되지 않습니다/railsapp/assets/pic.png' ... ... –

+8

글쎄, 지금은'config.assets.prefix'의 기능을 이해했습니다 ...'config.assets.prefix = '/ railsapp/assets''을 넣어야했습니다. 그것은 작동합니다! –

+1

제 생각에 다소 단순한 구문으로 'scope path : '/ railsapp'do' 명령을 사용할 수도 있습니다. 그래도 고마워, 나를 도와 줘! – stuyam