2012-07-20 105 views
0

這是我的情況:我已經得到表單,任何訪問者都可以填寫表單。當然,如果他/她想提交,他們必須是用戶。所以當他們點擊「提交」時,他們會被帶到註冊頁面。這是因爲我需要一個「user_id」才能保存原始表單中的數據。Rails:如何將參數從一種形式傳遞到另一種形式

我想要做的是從原始形式(params [:site])中取出參數,而不是在創建動作中提交它們,我想等到用戶創建一個帳戶。這樣可以避免在沒有用戶標識的情況下將站點信息保存到數據庫。

我可以添加一些代碼到我的網站/創建方法,就像這樣。

def create 
    @site = Site.new(params[:site]) 
    unless current_user? 
    redirect_to new_user_session_path, sites_form_data: params[:site] 
    end 
    if @site.save 
    # ... 
end 

但我不知道如何抓住params [:網站]一旦我有用戶創建帳戶?

我在這個項目中使用Devise,所以可能會把扳手扔進作品中。我想知道是否必須覆蓋原始的設計控制器,像這樣的人:http://rorguide.blogspot.com/2011/04/overwrite-devise-registrations.html

我想我也可以將數據存儲在cookie中。但我不知道何時訪問該cookie,提取數據並保存到數據庫。用戶創建後,肯定。但是它應該是用戶模型的回調嗎?它應該去哪裏?

我會很感激任何建議或意見。

回答

1

如何在用戶會話中存儲:site?這將持續請求並意味着你不必保持這樣的手動跟蹤。

+0

好。呼叫。這個策略對我很好。 – 2012-07-23 22:11:36

相關問題