2011-10-03 82 views
2

我有几个.swf文件通过git子模块添加到项目中。他们住在/供应商/私/空间/SWF文件生产中的Rails 3.1预编译错误

要获取SWF文件到资产管道我做了以下内容:

config.assets.paths << "#{Rails.root}/vendor/private/widget" 

在发展这个工作得很好,但在生产中我得到以下错误:

ActionView::Template::Error (widget.swf isn't precompiled):

各地StackOverflow的搜索后,我已经试过这两种解决方案,这两者没有工作:

config.assets.precompile << '*.swf' 

config.assets.compile = true 
+0

你用什么助手(和路径)来访问swf文件?查看一下swf的manifest.yml文件,因为这可能会告诉你Rails如何在助手中运行文件。 –

回答

0

尝试设置application.rb中的

config.assets.digest = true 

config.assets.digest = false 

的预编译,并翻转回正确算账。我不知道这是为什么会起作用,或者URL摘要的哪一部分会阻止资产包含,但这是我发现能够在生产中生成我的资产以包含swf文件的唯一途径。

+0

虽然这将使资产预编译工作,但它不会将has标记附加到所生成的URL,以便每次提交静态文件时都会击中您的rails服务器,从而破坏预编译静态文件的目的。 当为swf文件生成散列时,必定会有某些事情导致编译器失败,或者为同一文件生成两个不同的散列值。 –

相关问题