sinatra 内部的链轮输出 nil

sprockets inside of sinatra outputs nil

我是 sinatra 内部的 运行 sprockets,也打算将 Opal 与其集成(因为我不想同时使用两个 sprockets 实例 运行)。

我知道我的路线正在正确捕获细节,因为通过一些调试我可以看到 ["application", ".js"]["application", ".css"] 被输出到日志文件中,但是我做 [=14] 的输出=] 为零。

这是我 运行 设置链轮的代码,可以在 gist 找到。

通过做:

        settings.assets.instance_exec(file_name,extention) do |file_name,extention|
            puts 'assets'
            puts @assets
            @assets[cache_key_for("#{file_name}#{extention}", {bundle: true})]
        end    

它输出:

assets
{}

我猜测由于某种原因资产缓存是空白的,虽然我不知道为什么会这样。

好的,所以在将 sprockets 升级到“3.3”并将 opal-react 升级到 "react-v0.13" 分支并摆弄一些东西后,我能够让它工作。

我认为这是一个加载路径问题,不知道为什么,但它只是没有找到任何奇怪的文件,因为它也没有引发错误,只是返回 nil。

总之,解决办法就在this github repo.