2011-06-18 82 views
0

我有幾個需要身份驗證的操作。例如,創建一個新的收藏夾或待辦事項:Rails路由:重定向到需要登錄的路由

resources :users, :has_many => [ :favs, :todos ] 

我最常做的是過濾器來檢查,如果用戶在簽訂適當的行動之前添加如果他們沒有在過濾器節省目標網址並將其重定向到登錄頁面。登錄後,他們被重定向到保存的URL。

但是,鑑於上述路線,這是不可能的,因爲用戶必須登錄才能生成URL。

這是否意味着我要補充路由到:favs:todos控制器: /favs/new/todos/new只是應對情況?

否則,我要建立的網址關鍵詞的映射做重定向:中/login?return_to=new_todo代替/login?return_to=http://localhost/bob/todo/new

回答

0

我不知道你正在努力實現什麼樣的大局觀,但我會強烈建議檢查一下像Devise這樣的認證寶石。

https://github.com/plataformatec/devise

這是一個很大的工作來處理身份驗證正確(和安全)的,除非你有特殊情況,很可能不值得在這裏推倒重來的時間。

另外,設計處理您提到的功能。