2016-02-02 46 views
0

我有一個Rails應用程序。當user.id是偶數時,我想從myapp.com/*將用戶重定向到beta.myapp.com/*Rails:將一定比例的用戶重定向到beta版應用程序

我在想我可以在application_controller.rb中放入一個前掛鉤,但是我不知道如何執行通配符重定向(任何時候偶數用戶訪問myapp.com上的頁面,他們都會重定向到beta.myapp.com上的同一頁面)。

回答

2

您可以使用request.path重定向到同一路徑上的不同域

# app/controllers/application_controller.rb 
before_action :toggle_redirect 

def toggle_redirect 
    if current_user.id.even? && request.url == "http://www.myapp.com/" 
    redirect_to "http://www.beta.myapp.com#{request.path}" 
    end 
end 
+0

完美,謝謝! –

+0

@JacksonCunningham您可能只想考慮在GET請求中執行此操作。也許只有那些沒有查詢參數。 –

+0

@PhilipHallstrom。什麼時候用例會出現?第一次,即使用戶點擊該網站也會收到GET請求(將其切換到beta.myapp.com),然後他們將通過beta版本提交POST。我不明白他們如何在沒有首先重定向的情況下進行POST POST –

相關問題