提问人:Steve Schwedt 提问时间:9/6/2023 更新时间:11/23/2023 访问量:158
如何防止 Rails 7 link_to 的 Turbo 进度条和旋转活动指示器
How to prevent Turbo progress bar and spinning activity indicator from Rails 7 link_to
问:
我有一个带有 Turbo 和 Stimulus 的 Rails 7 应用程序。我有一个触发控制器操作但不触发渲染或重定向的link_to。基本功能是正确的,但单击该链接会启动浏览器选项卡上的 Turbo 进度条和旋转活动指示器,并且它们永远不会完成。有没有办法阻止它们启动?
该链接在部分使用多个地方来点赞事物。所有 UI 更改都是使用 JavaScript 完成的。
<%= link_to "/#{controller}/#{object.id}/like", data: { "turbo-method": :patch, action: 'click->like#likeTapped', "turbo-frame": "_top" }, class: 'like-link' do %>
Rails 控制器:
def like
current_user.toggle_like!(@post)
end
我是否可以阻止 Turbo 访问以防止它有活动指示器,或者我可以让 Rails 控制器返回一些不重新加载或更改滚动位置的内容?
答:
0赞
mechnicov
9/6/2023
#1
要完全禁用进度条,请将其样式设置为:visibility
hidden
.turbo-progress-bar {
visibility: hidden;
}
0赞
everes-sh
11/23/2023
#2
您可以添加帮助程序以使链接发送 AJAX 请求:remote: :true
<%= link_to "/#{controller}/#{object.id}/like", method: :patch, data: { remote: :true, action: 'click->like#likeTapped' }, class: 'like-link' do %>
在控制器中:
def like
current_user.toggle_like!(@post)
respond_to do |format|
format.js
end
end
下一个:从数组中删除多个参数
评论