2016-11-09 71 views
0

我有一個類似畫廊的應用程序,用戶可以在其中添加相冊。在我的應用程序中,如果瀏覽器沒有__nr cookie,當用戶來查看相冊時,我會添加一個名爲的cookie紅寶石軌道 - 當用戶在新帖子後添加/刪除cookie

這是我要做的事

rand = rand(1..999) 
cookies[:__nr] = {value: rand, expires: 10.minutes.from_now} if cookies[:__nr].blank? 

這工作得很好,但我想實現的是,當他們去到一個新的相冊/ album_path我想添加一個新的隨機數爲cookie value

我現在擁有的是expires: 10.minutes.from_now,但是我想在新專輯路徑上更改cookie value

我知道我可以在點擊某些按鈕時添加javascript來刪除cookie,但我不想使用javascript function並想從我的控制器中處理它。

回答

0

cookies.delete :__nr你在找什麼?您可以在控制器中使用before_action方法來限制哪些控制器操作刪除該cookie。

例如:

class SomeController < ApplicationController 

    before_action :delete_the_cookie, only: [:new] 

    def delete_the_cookie 
    cookies.delete :__nr 
    end 
end 

這隻會刪除您new控制器動作的餅乾。