2
我有一個用戶可填寫的表單,點擊「Create」按鈕將發出一個POST請求,用表單數據在數據庫中創建一個新條目。RoR:如何在POST之前認證用戶
現在,只有登錄的用戶應該被允許創建數據庫條目,但我希望所有用戶都能夠填寫表單。只有當點擊「創建」時,我是否希望我的應用程序將沒有登錄的用戶重定向到登錄頁面。登錄後,我想繼續處理POST請求並創建數據庫條目,而用戶不必再次輸入所有表單數據。
處理這個問題的最佳方法是什麼?將POST數據放入會話中?但是,然後,在成功登錄後,我想在原始控制器/操作中創建數據庫條目(以便不重複代碼),並且從我的應用程序(在成功登錄後的方法中)發出POST請求奇怪。任何更好的想法?
謝謝!
我使用devise,但是before_filter authenticate_user!將不會幫助POST請求,會嗎? 同樣,我想將用戶重定向到登錄頁面,並在成功授權後返回到處理POST請求的創建方法 – Alexander 2011-04-29 06:44:38
是的,對於控制器的每個動作,它都可以工作,如果你想要重定向回來,只需使用redirect_to:back。 – Spyros 2011-04-29 06:48:53
哦,我不知道 - 關於如何製作authenticate_user的任何想法!與omniauth集成。我的登錄過程是通過Facebook和omniauth。所以我想要authenticate_user!重定向到Facebook,然後回到我的POST請求... – Alexander 2011-04-29 07:03:58