2017-04-30 18 views
2

所以我需要將一個ID數組存儲在cookie中。將項添加到軌道中的cookie中的陣列

我已經創建了這個函數來將id附加到cookie。此代碼是我scotlands_controller.rb

def add_to_cookie (id) 
    if cookies[:scotids].size == 0 
    cookies[:scotsids] = JSON.generate(["#{id}"]) 
    puts "id #{id} was added to the cookie" 
    else 
    cookies[:scotsids] = JSON.parse(cookies[:scotsids]) << "#{id}" 
    puts "id #{id} was added to the cookie" 
end 

我想要做的就是下一個顯示一個按鈕來調用該函數,這樣我以後從陣列讀取ID用在表上顯示的項目,有點像購物車。

如何從我的視角調用該功能?可以在不重新加載頁面的情況下完成嗎?

任何幫助表示讚賞。

+0

刷新整個頁面調用該方法在控制器上(可能是'scotlands_controller.rb'),並使用就認爲價值是不是一種選擇? –

+0

沒有因爲我需要多次調用它來收集所有的ID並在以後的另一個視圖中操作數組 – fmonper1

+0

而且您需要在視圖中多次調用該方法? –

回答

0

您已經在控制器中執行了操作,接下來您需要如何從視圖中路由到該操作。你明白嗎?

你需要做的是添加一個路由到routes.rb文件。例如:

post "/add_item_to_cookie => "scotlands_controller/add_to_cookie" 

您需要準確獲取該項目的ID並將其作爲Ajax參數傳遞。

如何使用AJAX調用來防止瀏覽器在here