這可能是一個新手問題,但我不確定搜索什麼條款。如何跨重定向緩存ActiveRecord模型對象?
假設我有一個CUSTOMER對象,並且我想向該客戶發送MESSAGE消息。
我會先做的是在CUSTOMER控制器上添加一個SENDMESSAGE動作,該動作構建消息對象。 (假設這是正確的做法?)
但是在這個例子中,我不需要從這個動作中實際發送消息,我需要轉發到MESSAGE的編輯視圖以捕獲正文文本等。
問題:我想這樣做,而不堅持對象。我想在這裏構建對象,然後將其交給另一個視圖來完成。
def sendmessage
@message = Message.new
@message.title = 'WIBBLE'
@message.thecustomer = self
@message.save
respond_to do |format|
format.html { redirect_to(edit_message_path(@ message)) }
format.xml { render :xml => @ message }
end
end
也許我的問題歸結爲,什麼是「軌方式」緩存參數和對象的不同請求和多個屏幕。
很高興指向Web網址,因爲我期望這很簡單。
感謝
非常感謝約翰。Cookie中的會話內容聽起來像是一個奇怪的設計決定! – 2010-01-10 18:43:59
我還可以問,你會使用會話緩存控制器的動作嗎?例如我的INDEX操作根據傳入參數執行一個時髦的查詢。我想緩存該特定結果列表,以便隨後調用SENDMESSAGE。 (這可能意味着成千上萬的對象存儲在會話cookie中,因此猜測不)。但是,在調用SENDMESSAGE時,我沒有再次重建CUSTOMER列表所需的所有參數?也許緩存這些參數? (很多方法可以做到這一點,但尋找rails的方式! – 2010-01-10 19:01:48
這聽起來像緩存參數,所以你可以重建查詢將是要走的路。注意,我說cookie會話存儲是Rails的默認值。 'environment.rb'中的config.action_controller.session_store'選項允許您使用數據庫來存儲會話存儲。 – 2010-01-10 19:25:12