我的Rails设置中的assets文件夹中有一个模板目录,它托管我的模板化HTML文件。我已经实现了一个部分系统,我可以将文本片段加载到每个模板中,只要它附加了一个.erb文件即可。部分以下划线为前缀,因此/assets/templates/_form.html是部分内容,包含在/assets/templates/edit.html中。这有效,但是当我运行资产时出现问题:预编译。
资产:precompile命令也会预编译_form.html文件(因为它们位于assets / templates文件夹中),我不希望这种情况发生,因为它们无法预编译(因为任何错误的erb变量等等。
有什么方法可以通知rake资产:precompile命令忽略某些文件(在这种情况下,文件中有下划线的文件)?有人知道怎么做吗?或者有人可以指向github存储库,它有rake资源的来源:precompile命令?
答案 0 :(得分:3)
在Rails 3.2.8中,您可以找到rake任务定义 here 的来源。
您在Sprockets问题跟踪器
中至少提出过一次问题 joshpeek添加了一个new stub
directive in Sprockets 2.2,看起来像是一个很有前途的解决方案,可以“忽略”管道中的某些资产。
Rails 3.2不支持2.2附近的Sprockets版本,并且在Rails 4之前似乎没有任何意图从我读过的内容(尽管我喜欢错误)关于那个)。这里至少有一个已关闭的问题(不采取行动)请求升级到2.2。
对于你的情况,在我看来你可能错误地使用app/assets
。我无法提供替代解决方案,因为我对您的设置/使用情况了解不够明确,但正如您所说,.erb
中app/assets
的文件将由Sprockets处理。