You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击turbo_frame内的链接,如何获取turbo_stream响应?

解决方法

要让点击链接时返回turbo_stream响应,有两种简单的实现方式:

方法一:通过URL参数指定响应格式

直接在link_to里添加format: :turbo_stream参数,让请求明确指向turbo_stream格式的视图:

turbo-frame#results
  = link_to "search", search_path(format: :turbo_stream)
  = "default result"

这样请求的URL会带上.turbo_stream后缀(或者?format=turbo_stream,取决于路由配置),Rails会自动匹配search.turbo_stream.slim模板。

方法二:使用Turbo的data-turbo-stream属性

给链接添加data: { turbo_stream: true }属性,告诉Turbo发起请求时携带text/vnd.turbo-stream.html的Accept头,触发turbo_stream响应:

turbo-frame#results
  = link_to "search", search_path, data: { turbo_stream: true }
  = "default result"

这种方式不需要修改URL,靠Turbo的内置机制切换请求格式,更符合Turbo的设计习惯。

两种方法都能让控制器返回search.turbo_stream.slim的内容,替换turbo-frame#results里的原有内容。

内容的提问来源于stack exchange,提问作者Constantin De La Roche

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 23:02:07