2012-02-26 28 views
18

Tôi cần sử dụng máy chủ lưu trữ để tạo URL với một cổng khác.Đường ray: cách nhận máy chủ lưu trữ hiện tại hoặc tạo URL với nó?

Ví dụ, nếu chủ nhà là example.com, tôi cần phải tạo ra một URL như http://example.com:8080/

tôi cần nó để được cầm tay, vì thế khi tôi đang ở trong môi trường địa phương của tôi nó cho thấy http://localhost:8080/ để thay thế.

Bất kỳ ý tưởng nào?

Trả lời

34

Tôi thường sử dụng một before_filter trong ApplicationController để thiết lập một biến Ví dụ với tên máy chủ, một cái gì đó như thế này:

@hostname = request.host || "www.mydomain.com" 

Bạn cũng có thể sử dụng request.port để có được số cổng mà yêu cầu băng vào (lấy từ tiêu đề HTTP).

+0

request.host làm việc tốt ngay cả trong các quan điểm, nhờ – HappyDeveloper

6

Về cơ bản, bạn cần tạo url dựa trên url hiện tại và một số số cổng khác. nó có thể được thực hiện như -

request.url(:port => 20) 

on Rails console

app.root_url(:port => 20) 
=> "http://www.example.com:20/" 

Để trích xuất máy chủ từ sử dụng url

request.host 
Các vấn đề liên quan