为什么Rails有时会使用错误的权限创建资产缓存?

时间:2011-05-24 08:56:06

标签: ruby-on-rails apache permissions passenger assets

我有一个EC2实例,其中包含Apache,Passenger和Rails的常规堆栈。该应用程序正在生产中运行,因此Javascript文件将缓存到all.js文件中。

Passenger配置为使用PassengerPreStart指令预先启动应用程序实例。

有时,all.js中由Rails创建的public/javascripts对部署用户具有错误的权限0600。它应该是0640,以便Apache可以提供文件(它们位于同一组,www-data)。

你有没有解释为什么会这样?是否存在PassengerPreStart和Rails的资产缓存问题?

1 个答案:

答案 0 :(得分:0)

我很确定这是因为资产之后的时间戳。如果你查看资源/文件之后的数字是一个时间戳,我认为浏览器会混淆,或者铁路混乱或其他东西。

您将时间戳的默认值更改为空字符串,但将以下代码放在Rails应用程序中的某处。

/application.rb

ENV[RAILS_ASSET_ID] = ""

这会将其设置为空字符串。看看情况如何。