如何以編程方式將所有請求重新路由到Rails應用程序生產中的登錄頁面,同時保留對開發中的其他匿名訪問頁面的訪問權限。在Rails應用程序中重定向到生產中的登錄頁面
例如,如果我有一個www.mywebsite.com/listings的請求我想在開發中顯示它們,但將它重定向到生產中的登錄頁面,主要目的是讓我的應用程序保持隱身模式,直到發佈。
有沒有一個最好的方法來做到這一點,因爲我認爲這是一個非常普遍的問題?
如何以編程方式將所有請求重新路由到Rails應用程序生產中的登錄頁面,同時保留對開發中的其他匿名訪問頁面的訪問權限。在Rails應用程序中重定向到生產中的登錄頁面
例如,如果我有一個www.mywebsite.com/listings的請求我想在開發中顯示它們,但將它重定向到生產中的登錄頁面,主要目的是讓我的應用程序保持隱身模式,直到發佈。
有沒有一個最好的方法來做到這一點,因爲我認爲這是一個非常普遍的問題?
在應用程序控制器...
before_filter :stealth_mode
def stealth_mode
redirect_to login_url if Rails.env.production?
end
而在你的登錄控制器
skip_before_filter :stealth_mode
在這裏,你去! :-)
在您的路線:
if Rails.env.production?
match '(:controller(/:action(/:id(.:format))))' => "root_controller#root_action"
else
#your routes declarations
end
root :to => "root_controller#root_action"
這可以幫助我很多!如果我開始爲不同的環境開始混合邏輯,我覺得如果路由文件看起來有點髒,但我認爲它應該沒問題。非常感謝! – denica
只是提防rails:如果你鏈接到視圖中路徑未知的頁面(基本上你的根頁面不應該包含任何'link_to'。@christianblais的回答更好,至少可以添加條件在你的routes.rb文件 – apneadiving
感謝您的提示,我會考慮@christianblais呢!感謝您的快速反應,我非常驚訝於SO有時感覺像在聊天... – denica
不錯的一個也+1, ) – apneadiving