2011-12-10 27 views
14

Tôi có thiết lập nơi nginx phục vụ ứng dụng đường ray bên trong một thư mục con cụ thểTiền tố đường dẫn chuẩn bị cho tất cả các tuyến đường ray

ví dụ: http://myserver/railsapp/ và mọi thứ bên trong được ủy quyền cho đường ray, nếu thư mục con đầu tiên khác, nó sẽ lưu trữ các tệp tĩnh từ một thư mục khác.

Tôi chưa thể tìm thấy cách chỉ định hành vi này trong đường ray theo cách thông minh. Ý tôi là, những gì tôi muốn là chỉ định một tùy chọn như Rails.server_prefix = /railsapp để tất cả các tuyến đường được tự động thêm vào trước, cả trên các yêu cầu đến và trên các liên kết được tạo.

Trả lời

30

Bạn có thể muốn sử dụng phương pháp phạm vi của router với: con đường lập luận:

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

See the docs for more info.

+0

này sẽ làm việc cho thế hệ con đường, nhưng trong đường ray 3.1, điều này sẽ không nhận ra '/ railsapp/assets/pic.png' ... –

+8

tốt, bây giờ tôi đã hiểu hàm 'config.assets.prefix' ... Tôi đã phải đặt' config.assets.prefix = '/ railsapp/assets'' và bây giờ nó hoạt động! –

+1

Bạn cũng có thể làm 'phạm vi đường dẫn: '/ railsapp' do' cho một cú pháp hơi đơn giản theo ý kiến ​​của tôi. Cảm ơn vì điều này, đã giúp tôi! – stuyam

Các vấn đề liên quan