GitLab - 为/assets/ace/mode-markdown.js获取404(未找到)

时间:2014-08-15 19:30:14

标签: gitlab

在线编辑代码时,我从GitLab收到以下错误。

GET http://git.server.local/assets/ace/mode-markdown.js 404 (Not Found) application-c8cd2dd87cbf8a023b21baf4d6996ac9.js:26
    t.loadScript application-c8cd2dd87cbf8a023b21baf4d6996ac9.js:26
    t.loadModule application-c8cd2dd87cbf8a023b21baf4d6996ac9.js:26
    setMode application-c8cd2dd87cbf8a023b21baf4d6996ac9.js:27
    (anonymous function)

有没有人遇到过这样的错误?我想知道为什么应用程序要求没有哈希的资产。

这是一个Omnibus安装。

2 个答案:

答案 0 :(得分:0)

在某个时间点正确解析之前,我已经通过将ace-rails-ap存储库中的“ace”文件夹复制到GitLab public / assets文件夹来解决了错误。

https://github.com/codykrieger/ace-rails-ap/tree/master/vendor/assets/javascripts

以下Javascript似乎要求资产与代码内联。

可能在此提交中引入https://github.com/gitlabhq/gitlabhq/commit/1794f606bd74ae775cd10a3f7da293fb67134c1c

# gitlab-ce.git/app/views/projects/edit_tree/show.html.haml

:javascript
  ace.config.set("modePath", gon.relative_url_root + "#{Gitlab::Application.config.assets.prefix}/ace")
  var ace_mode = "#{@blob.language.try(:ace_mode)}";
  var editor = ace.edit("editor");
  editor.setValue("#{escape_javascript(@blob.data)}");
  if (ace_mode) {
    editor.getSession().setMode('ace/mode/' + ace_mode);
  }

由于内联Javascript对Rails资产管理一无所知,因此假设该文件位于assets文件夹中。

答案 1 :(得分:0)

我准备了修复here。这还会在存储库或新片段中创建新文件时添加语法突出显示。