我有一個紅寶石的Rails應用程序,它有一個註冊頁面。不同的頁面重定向到註冊頁面,並且在註冊完成後需要設置另一頁面以重定向到。做這個的最好方式是什麼?目前,我正在這樣做:如何在紅寶石軌道上提交註冊頁面後重定向到哪裏?
的link_to「/註冊重定向= /胡說/頁6
...並獲得在註冊控制器重定向變量,並使用該設置後註冊頁面。我擔心這可能會導致一些安全問題,但我並不確定。
這是可以接受的還是有更好的方法?
我有一個紅寶石的Rails應用程序,它有一個註冊頁面。不同的頁面重定向到註冊頁面,並且在註冊完成後需要設置另一頁面以重定向到。做這個的最好方式是什麼?目前,我正在這樣做:如何在紅寶石軌道上提交註冊頁面後重定向到哪裏?
的link_to「/註冊重定向= /胡說/頁6
...並獲得在註冊控制器重定向變量,並使用該設置後註冊頁面。我擔心這可能會導致一些安全問題,但我並不確定。
這是可以接受的還是有更好的方法?
我使用這2種方法來幫助這在我application_controller.rb
:
def store_location
session[:return_to] = params[:redirect]
end
def redirect_back_or_default(default)
redirect_to(session[:return_to] || default)
session[:return_to] = nil
end
當他們到達註冊頁面,只需運行store_location
,當它完成和完成後,使用redirect_back_or_default
方法。
(當然修改這個根據自己的喜好)
你有沒有用於身份驗證的插件/寶石?如果你沒有,我建議清除或設計。許可將你自動地重定向到「你從哪裏來」,並且兩者都像開發人員一樣安全,並且使用它們已經讓它成爲(這意味着相當安全)。
現在我更喜歡Devise說了這一切。
Garrett的解決方案看起來像來自Restful身份驗證,這是另一個好的身份驗證插件。
是的,我正在使用寧靜的身份驗證 – NotDan 2009-12-29 00:22:55
最有可能的是,這只是我已經收集到我現在非常強大的'application_controller.rb'中的一段代碼,我發現它很有用。雖然我在Authlogic中使用了這個,但是使用'before_filter'會自動爲我啓動。 – Garrett 2009-12-29 00:24:18