在 javascript 中使用 rails 资产

Using rails asset in javascript

我正在使用 rails 构建站点,我想在其中一个页面中嵌入 swagger 文档。 swagger yaml 文件存储在 /app/assets/myfile.yaml 中。在大摇大摆的嵌入代码中(javascript)我尝试了多种方法:

// in myswagger.html.erb
window.onload = function() {
    const ui = SwaggerUIBundle({
        url: "<%= asset_path('myfile.yaml') %>",
        dom_id: '#swagger-ui',
        presets: [
        SwaggerUIBundle.presets.apis,
        SwaggerUIBundle.SwaggerUIStandalonePreset
        ]
    })
}

我也试过 /app/assets/myfile.yamldocument_path('myfile.yaml') 等路径。但每次我们都以 Fetch error Not Found /swagger.yaml 结束。 访问此文件并将其嵌入 javascript 的正确方法是什么?

快速回答:

将文件 yaml 放入您的 public 文件夹

否则检查在浏览器级别生成的内容,方法是检查页面