2014-05-03 68 views
0

rails初学者在这里Rails生成错误的资源URL

我试图设置一个应用程序到生产,但与资产管道有大问题。正在开发中,每个资产都在/assets/blabla.extension之间生成

但是,我正在运行nginx并运行rake资产时:预编译它会在/public/assets之下创建资产。但是,当我访问我的应用程序时,它会生成类似/application.css的url,而不是/assets/application-digestq12343.css

我认为这个问题有一个简单的解决方法..但我找不到它。请帮帮我!

更新: 从文档我读的链轮“默认”是/资产,但它肯定不是我的应用程序。我使用最新版本的导轨。文档可能过时了吗? http://edgeguides.rubyonrails.org/asset_pipeline.html

即使我添加config.assets.prefix = "/assets"到我的生产仍然将意味着我不会加载资产,因为消化会丢失。

+0

您是否使用'rails s'或外部Web服务器运行生产环境? – Arantir

+0

外部我使用nginx,我做了一些更改,并使用rake任务来构建资产,突然它刚刚工作,并且更改了url。奇怪,我不确定是什么修复了它。 :p – Ms01

+1

重新编译资产后,似乎必须重新启动您的Rails服务器。生产环境,你知道,它应该重新启动后,任何小事:)如果我没有编译资产运行生产服务器,重新编译资产,并刷新网页,而无需重新启动服务器,我可以再现你的情况。 – Arantir

回答

1

我相信这是我遇到的同样的问题。而不是在您的css(或scss)中使用url(),请使用asset-data-url()并将config.assets.enabled = true添加到您的应用程序配置文件中。然后,rake assets:precompile在你推之前。