我有一个动态创建和编译自视资产Rails应用程序的网域,您访问的网站(让说不同的颜色,其中的颜色值存储在数据库)如何判断产生新的公共资源文件的Rails资产
让的说了www.hello.example
就会产生public/assets/hello-application-52777d36dec6f6e311560156da9da1c2.css
所以浏览器的源文件将指向
layout:
= stylesheet_link_tag 'hello-application'
generated html:
<link href="/assets/hello-application-52777d36dec6f6e311560156da9da1c2.css" media="all" rel="stylesheet" />
如果添加www.goodbye.example
它将编译public/assets/goodbye-application-52777d36dec6f6e311560156da9da1c2.css
所以浏览器的源文件将指向
layout:
= stylesheet_link_tag 'goodbye-application'
generated html:
<link data-turbolinks-track="true" href="/assets/goodbye-application-52777d36dec6f6e311560156da9da1c2.css" media="all" rel="stylesheet" />
资产都在运行正确编译而不需要重新启动服务器。上述做工精细
例子,如果我重新启动服务器
我想不通的事情是如何告诉新的公共资源文件生成导轨,使其= stylesheet_link_tag 'goodbye-application'
将它捡起来,而无需重新启动生产服务器。
我的猜测是,它有事情做,以告诉Rails重新加载public/manifest.json
我只是无法弄清楚
- 的Rails 4.0.2
- 红宝石2.1
- 独角兽生产服务器
我的功能有点类似,但是krautcomputing article他与“消化”,这是不是为轨道4,5工作solwing这个问题(+它不久将被取消)
更新
一个纨绔子弟提供一个答案(他不得不删除)建议我不必这样做,因为独角兽具有零时间重新启动,这样我就可以重新启动麒麟,它将加载新的公共财产......这是真的,我这样做是这样,我已经问过这个问题之前。不过,我正在寻找避免这种情况的解决方案。 (让用户说产生每天1000款)
他还建议使用咕噜...嗯,这是B计划,我真的不知道是否有一种方法在Rails的链轮要做到这一点:)
Rails现在如何做到这一点?您现在使用什么配置来完成即时生成? – phoet
另外:您应该尽快从rails v4.0.2升级到最新的v4.0版本。 [v4.0.3](http://weblog.rubyonrails.org/2014/2/18/Rails_3_2_17_4_0_3_and_4_1_0_beta2_have_been_released /)引入了多个安全补丁。 – fny
根据将要生成的CSS名称,如何制作'= stylesheet_link_tag'变量''。 例如,再见一个会有goodbye.css,另一个会有你选择的名字? – 0bserver07