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

Ajax请求后Partial未渲染,但控制台显示已完成渲染

问题排查与解决

1. 修复Partial的HTML语法错误

你的_slider.html.erb存在明显语法问题:

<h1>>
YELLO
</h1>

<h1>标签后多了一个多余的>,这会导致浏览器解析HTML时出现异常,直接影响内容渲染。修改为:

<h1>
YELLO
</h1>

2. 确认jQuery是否正确加载

Rails 6及以上版本默认不再包含jQuery,如果项目未手动引入,$('#testDeals')会触发Uncaught ReferenceError: $ is not defined错误,导致JS代码无法执行。

检查与修复方式:

  • 打开浏览器控制台(F12),点击链接后查看是否有上述报错。
  • 若缺少jQuery,按以下步骤引入:
    1. 在Gemfile中添加gem 'jquery-rails',执行bundle install。
    2. 在app/javascript/application.js中添加:
      import 'jquery'
      import 'jquery_ujs'
      

3. 验证JS响应内容是否正确

在浏览器Network标签中找到/deals/slider的XHR请求,查看Response内容是否符合预期,正确的响应应该类似:

$('#testDeals').html('<h1>\nYELLO\n</h1>');

如果响应存在语法错误(比如未正确转义的字符),会导致代码执行失败。

4. 检查目标DOM元素状态

确认index.html.erb中的<div id="testDeals">是否在页面中正常存在,未被其他代码删除或隐藏。可以在控制台执行document.getElementById('testDeals'),验证是否能返回该元素。


内容的提问来源于stack exchange,提问作者Iqbal Bakhsh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 12:01:20