2016-03-08 64 views
1

我有一個鏈接設置爲啓用/禁用可見性。它更新數據庫正常,但頁面上的圖標不會更改。數據庫中的值更改時如何更新圖標?Rails - link_to遠程動作不會改變html元素

- if v.visibility? 
    = link_to version_path(v, version: {visibility: 0}), method: :put, remote: true do 
    .mi visibility 
- else 
    = link_to version_path(v, version: {visibility: 1}), method: :put, remote: true do 
    .mi visibility_off 
+1

_「如何在數據庫中更改值時更新圖標?」_ - 如果頁面沒有刷新,則必須使用JS更改圖標,否則添加一些帶有所需圖標的類鏈接元素。 – Vucko

回答

1

頁面上的內容時,有在數據庫中的變化,直到你正在使用AJAX或任何這種技術不會改變。你必須從服務器發起一個請求來改變網頁中的內容,否則刷新頁面顯然會顯示最新的頁面。

關於你的代碼,你可以更好的把它寫這種方式:

- link_to_if v.visibility? do 
    = link_to version_path(v, version: {visibility: v.visibility}), method: :put, remote: true do 
.mi visibility 

您可以簡單地使用link_to_if,並以更好的方式編寫代碼。