我设置了一个链接以启用/禁用可见性。它可以很好地更新数据库,但页面上的图标不会更改。如何在数据库中更改值时更新图标?
- 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
答案 0 :(得分: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
,然后以更好的方式编写代码。