Rails - link_to远程动作不会改变html元素

时间:2016-03-08 09:50:07

标签: ruby-on-rails

我设置了一个链接以启用/禁用可见性。它可以很好地更新数据库,但页面上的图标不会更改。如何在数据库中更改值时更新图标?

- 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 个答案:

答案 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,然后以更好的方式编写代码。