告诉Rails在公共/资产以外的地方寻找资产

时间:2019-02-28 15:53:49

标签: ruby-on-rails asset-pipeline kubernetes-ingress

我正在尝试在Rails API之上部署管理仪表板。当前,它的Ingress服务是在site.com/api/admin上设置的,Rails正在site.com/assets中搜索资产,因此找不到它们。

如何告诉Rails在site.com/api/assets/admin.css上查找资产?我尝试使用config.assets.prefix = '/api/',但这似乎只是将资产已预编译到的目录更改为public/api/assets,但是在application.html.erb中,样式表链接标记仍为public/assets/admin.css ,导致所有资产出现404错误。

2 个答案:

答案 0 :(得分:1)

经过几天的故障排除,我尝试将config.relative_url_root设置为'/api',现在终于可以使用了。

答案 1 :(得分:0)

您需要将文件夹的路径添加到资产管道中。您可以通过转到KTable<String, Long> sum = builder.<String, Long>stream("streams-plaintext-input") .groupByKey() .aggregate(new Initializer<Long>() { @Override public Long apply() { return Long.MIN_VALUE; } }, new Aggregator<String, Long, Long>() { @Override public Long apply(final String key, final Long value,final Long aggregate) { return aggregate + value; } }, Materialized.<String, Long, KeyValueStore<Bytes, byte[]>>as("counts-store")); 并添加以下行来做到这一点:

config/initializers/assets.rb

或者,在这种情况下:

Rails.application.config.assets.paths << Rails.root.join('my', 'folder', 'path')