我正在开发一个使用Rails 3.1的极其JavaScript的应用程序。我已经开发了一个“管理”区域,可以通过Web界面使用Rails模型自行配置应用程序。预计这部分数据库很少发生变化,但我需要有能力更改它,因此管理员。将不经常更改的JSON数据发送到生产中的客户端的最佳方法
我现在正在制定将数据下载到浏览器的最佳方法。我需要客户端在JavaScript应用程序本身可以启动之前加载数据,因此如果可能的话,我想避免任何AJAX调用,因为这些后续请求必须先完成。
由于数据很少发生变化,因此它非常适合缓存 - 但在这种情况下,我无法使用资产管道,因为我不希望在模型中重新部署Rails应用程序数据变化。
我不能在资产中使用嵌入式ERB代码,因为即使我不预编译它们,实际的资产文件也必须在Rails接受修改之前进行更改。即使模型数据已经改变,由于ERB代码没有被修改,即使我触摸文件(以更新时间戳),Rails也不会为我生成新的资产文件,因为它的MD5哈希值没有改变。
在这一点上,我打算将JSON模型直接分解并嵌入到视图模板中,但我很讨厌这样做(数据和视图分离以及所有这些)。
是否有更好的解决方案,比如强制Rails/Sprockets重新编译特定资产的程序化方法,或者所有这些方案?
我正在向我的.erb添加一个版本,当我想要它重新编译时(如果没有其他更改),我会碰撞。非常不雅。 – Hollownest 2012-08-17 03:37:06