2011-06-28 48 views
0

我在rails 2.3上使用devise,需要有一個公共和私有的表單 - 用於登錄用戶和沒有登錄的用戶。兩個用戶都應該看到它,但只有登錄的用戶可以發佈形成。如何使Rails將post發送到return_to路徑,而不是重定向到它?

我想達到的目的是當匿名用戶填寫併發布表單,然後設計向他顯示登錄頁面,他登錄併發布表單內容。

現在,當我將創建操作(表單發佈自己)設置爲private時,設計人員會向他顯示登錄屏幕並記住他來自哪裏 - 將url保存到 session [:return_to]並重定向他回到表格。

有沒有比monkeypatching設計這樣做的其他方式?

回答

0

我相信,設計你將無法得到設計發佈到一個成功的登錄位置沒有一些黑客的設計。

但是,由於您在會話中保存了網址,因此您也可以輕鬆地將發佈數據保存在會話中,然後在重定向回來時檢查它。一旦使用它,請確保您從會話中刪除它。

+0

是的,我終於做了這樣的事情。必須向控制器添加保護/公開行爲。表單發佈到該操作,我保存了表單數據,沒有它我無法保存表單數據。 –

相關問題