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

如何在基于Rails 6的Mastodon中正确引入jQuery?

问题解答

1. 正确在Mastodon头部引入jQuery CDN的方法

方案一:修改CSP策略 + 正确编写HAML标签

  • 首先修改Mastodon配置文件config/initializers/content_security_policy.rb,找到script_src配置项,将jQuery CDN的域名加入允许列表:
    Rails.application.config.content_security_policy do |policy|
      policy.script_src :self, :https, 'https://ajax.googleapis.com', ... # 保留原有配置,新增该域名
      # 其他配置项...
    end
    
  • 然后在app/views/layouts/application.html.haml的头部区域(建议放在现有javascript_pack_tag标签附近),使用正确的HAML语法添加script标签:
    %script{ src: "https://ajax.googleapis.com/ajax/libs/jquery/3.6.3/jquery.min.js" }
    
    注意:必须使用**大括号{}**包裹属性,同时要保证标签缩进和文件内其他代码一致(这是你之前崩溃的核心原因)。
  • 最后执行缓存清理、资源预编译并重启服务:
    RAILS_ENV=production rails assets:clean
    RAILS_ENV=production rails assets:precompile
    systemctl restart mastodon-web
    

方案二:使用Sprockets引入本地jQuery

如果你的Mastodon实例仍兼容Sprockets,可以避免修改CSP:

  • 下载jQuery 3.6.3的minified版本,放到app/assets/javascripts/目录下。
  • 在app/assets/javascripts/application.js中添加引入语句:
    //= require jquery
    
  • 执行缓存清理、预编译并重启服务,步骤同方案一。

2. 查看Mastodon崩溃的详细错误日志

直接使用系统日志工具查看mastodon-web服务的实时日志:

journalctl -f -u mastodon-web

该命令会输出服务的实时运行日志,能快速定位语法错误(比如缩进不一致)、CSP拦截报错等问题,帮你排查崩溃原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:23:11