所以這一個讓我難住;希望有一個善良的靈魂能幫助我。作爲顯示執行操作的用戶的某些按鈕的邏輯的一部分,我將它們操作的對象的id存儲在名爲「prayed_for」的會話數組中。 (這個問題的獨特之處在於它處理會話,而不是在數據庫中保存數組)。在我的控制器的show動作中,我評估被請求條目的當前id是否存在於會話數組「prayed_for」。我將這個布爾值賦給會話變量@already_prayed_for
。下面是該邏輯:無法從Rails 3.1中的視圖訪問會話數組
@already_prayed_for = (session[:prayed_for] ||= []).include? params[:id]
但這裏有一個問題:我不能在我的部分評估此。例如,如果我嘗試評估以下內容(在HAML中),其中「entry」是表示手頭條目的變量,「id」是id,應存儲在會話「prayed_for」變量中,它將始終評估到false
:
-if (session[:prayed_for] ||= []).include? entry.id
我來,我可以評價一個ID是否存在於會話陣列時,可以評估錯誤的東西在我的部分結論。此外,這個相同的概念在控制器操作中完美工作(但我不能在這次使用該解決方案,它必須在部分中進行評估),但它也在ApplicationHelper
中失敗。非常感謝解決這個問題的任何幫助!
UPDATE: 這裏就是我在另一個行動組的會議代碼:
if @entry.save
(session[:prayed_for] ||= []) << params[:id]
end
你能還張貼的代碼行(S),你設置的會議? – bricker
請看我對這些代碼行的問題的更新:) –