2016-10-03 43 views
2

将未预编译的公共资产存储在Rails应用程序中的标准位置是“public/system”。这有什么理由吗?我想让事情变得简单,为什么不把资产放在“公共”文件夹中?rails“public/system /”中“system”文件夹的用途是什么?

+1

问题的一般偏好,你可以命名你的子文件夹公开/任何你喜欢的,他们仍然会被包括在内。它还提供了一定程度的组织,而不是将顶级文件夹中的文件放在顶层 –

回答

4

public/system文件夹本身不是Rails标准,甚至没有文档化的建议。像Capistrano这样的部署工具采用该惯例作为对您的建议,以便组织在部署之间共享且不应存在于您的存储库中的用户资产。这个想法是符号链接public/system到capistrano的shared/system,这是在发布文件夹之外。

如果你看一看paperclip's(这是一种广泛使用的上传库)的文档,你会发现:

默认情况下,该位置是 :RAILS_ROOT /公/系统/:类/:附件/:id_partition /:款式/:文件名。选择此位置是因为,在标准的Capistrano部署中,公共/系统目录可以链接到应用程序的共享目录 ,这意味着它可以在部署之间存活。

在您的开发环境中,如果您愿意采用该约定,您应该忽略.gitignore中的该文件夹。

+0

完美,谢谢,该应用使用Paperclip和Capistrano。 –

+0

不客气。 –

相关问题