【发布时间】:2019-05-29 03:39:27
【问题描述】:
我已经阅读了很多关于 Rails 和 AJAX 以及 5.1 Unobtrusive javascript 的内容。它解释了很多关于使用 .js 文件响应 Rails 版本的 AJAX 调用的内容。
但是我想要做的不是提供整个 .js 文件,它只是在 <% link_to %> POST 请求之后更新一个元素。据我了解,设置 remote: true 将其作为 AJAX 请求提交。
基本上我有一个“帖子”,用户可以通过链接的“喜欢”按钮喜欢它。这会向“Post”控制器发送一个 POST 请求,该控制器将帖子更新为喜欢并添加喜欢的帖子。
不幸的是,看到被赞的帖子的效果(这只是链接改变颜色以及字体真棒图标),您需要刷新页面。我基本上希望它无需刷新即可更新。
我“认为”基于我所读到的内容,我需要创建一个respond do 并通过 .js 响应在我想要更新的视图中使用 .js 文件的请求(例如,如果控制器操作是被称为“喜欢”,也许是一个like.js.erb 文件即时更新?)。但我不想提供一个全新的页面。或者这只是运行 .js?
然后我可以做类似$('i.fa-icon#id').style.color = "blue" 之类的事情吗? (我假设我可以将数据从控制器发送到 .js.erb 文件?)。不确定执行此操作的最佳方法,不要经常使用某种 data-attribute 或其他东西(我仍然是这方面的初学者)。
【问题讨论】:
标签: javascript ruby-on-rails ajax