2015-10-19 52 views
0

我目前通過點擊和ajax調用呈現部分視圖。部分獲得呈現在頁面頂部,但刷新部分消失(這是預期的)。我想知道是否有這個部分追加到視圖後單擊按鈕,它是第一次呈現。我真的不想創建一個數據庫字段檢查,看看它是否被點擊。將部分視圖添加到視圖中

任何幫助表示讚賞!

+0

觸發頁面刷新會發生什麼?點擊鏈接?提交表單?一些JavaScript? –

+0

我認爲創建一個數據庫字段是最好的方式,你可以解決這個問題 – illusionist

回答

2

您需要思考這裏的事件順序。

  • 用戶做出請求1至服務器
  • 頁面1呈現出
  • 用戶進行AJAX調用服務器
  • 部分被加入到頁
  • 用戶做出請求2至服務器
  • 頁2被渲染出來。

在這最後一點,rails需要「決定」添加部分。它可以作爲決定在幾個不同的事情:

  • 東西在數據庫中,例如,在用戶的喜好
  • 一個cookie
  • 東西在會話(可能通過以前的表單提交設置)
  • 東西在參數

你可以決定哪些是最好的選擇。 Cookies感覺是最好的方式,因爲它們可以在客戶端或服務器中設置,當部分添加到上一頁時。我想你的選擇可能取決於你想要這個改變的持久性。

+0

偉大的ans Max。由於cookie是在'production'中籤名的,所以在客戶端設置cookie會更難? – illusionist

+0

我認爲你不需要使用一個簽名的cookie。 –

+0

謝謝你的精彩漫遊@MaxWilliams。我選擇了cookie,可以將其值設置爲字符串或布爾值,但無法將其設置爲對象的ID。我目前正在做'cookies [:commentid] = {value:current_comment.id}',但cookie的值只是空白。但是,如果我做了類似'cookies [:commentid] = {value:「testtest」}的cookie,cookie就會設置爲該值。有什麼想法呢? – Matthew