Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 生产模式下的疯狂资产_Ruby_Ruby On Rails 4_Deployment_Assets_Spree - Fatal编程技术网

Ruby 生产模式下的疯狂资产

Ruby 生产模式下的疯狂资产,ruby,ruby-on-rails-4,deployment,assets,spree,Ruby,Ruby On Rails 4,Deployment,Assets,Spree,想知道如何配置Spree以在生产服务器上正确处理资产。与Rails 4.1.8一起使用Spree 2.4.2 根据文档,我已将所有资产添加到供应商文件夹中。我还正确配置了all.css和all.js文件。在开发模式下,一切正常。网站看起来很棒,没有错误,所有的js和css加载都很好。进入生产服务器时,找不到css和js文件。该网站正在公共文件夹中查找它们 我没有配置任何特定的内容。默认Spree设置应处理我的资产。对Rails资产管道的一些研究让我运行: rake assets:compile

想知道如何配置Spree以在生产服务器上正确处理资产。与Rails 4.1.8一起使用
Spree 2.4.2

根据文档,我已将所有资产添加到供应商文件夹中。我还正确配置了
all.css
all.js
文件。在开发模式下,一切正常。网站看起来很棒,没有错误,所有的js和css加载都很好。进入生产服务器时,找不到css和js文件。该网站正在公共文件夹中查找它们

我没有配置任何特定的内容。默认Spree设置应处理我的资产。对Rails资产管道的一些研究让我运行:

rake assets:compile
这编译了大量的东西,包括一个
all-xxxxxxxxxxxx.css
和一个
all-xxxxxxxxxxxx.js
文件

然而,spree仍然在
样式表/spree/frontend/
中寻找它们,而编译器将它们放在
资产/spree/frontend/

图像是一个完全不同的故事

想想我可能做错了什么


另一方面,我将我的资产(包括已编译的css和js文件)复制到spree查找它们的位置,这样我就可以查看在生产服务器上是否一切正常。我第一次看网页的时候效果很好。然而,当我第二次查看同一个页面时,有明显的css问题。这几乎就像css在缓存后发生了变化一样。对此有何见解?

您是否将顶级资产添加到application.rb中的config.assets.path?我碰巧知道默认的Spree安装没有这个

另外,您是否正在Heroku上部署?Heroku有一些特殊的考虑

此外,请阅读《资产管道指南》,并确保尽可能多地理解其中的内容。Spree并没有什么特别之处,它在资产管道方面和其他Rails应用程序有所不同