1

我的 Rails 设置的资产文件夹中有一个模板目录,它托管我的模板化 HTML 文件。我已经实现了一个部分系统,只要它附加了一个 .erb 文件,我就可以将文本片段加载到每个模板中。部分以下划线为前缀,因此 /assets/templates/_form.html 是包含在 /assets/templates/edit.html 中的部分。这可行,但是当我运行 assets:precompile 时出现问题。

assets:precompile 命令也将预编译 _form.html 文件(因为它们位于 assets/templates 文件夹内),我不希望这种情况发生,因为它们不能被预编译(因为任何 erb 变量都是失踪等)。

有什么方法可以通知 rake assets:precompile 命令忽略某些文件(在这种情况下,文件前面有下划线)?有人知道该怎么做吗?或者有人可以将我指向具有 rake assets:precompile 命令源的 github 存储库吗?

4

1 回答 1

3

在 Rails 3.2.8 中,您可以在此处找到 rake 任务定义的源代码。

您的问题已在Sprockets问题跟踪器中至少提出过一次

joshpeek在 Sprockets 2.2中添加了一个stub指令,这看起来是一个很有前途的解决方案,可以“忽略”管道中的某些资产。

Rails 3.2 不支持任何接近 2.2 的 Sprockets 版本,而且从我所读到的 Rails 4 之前似乎没有任何打算这样做(尽管我很想错了)。这里至少有一个已关闭的问题(未采取任何措施)要求升级到 2.2。

不过,对于您的情况,在我看来,您可能使用app/assets不正确。我无法提供替代解决方案,因为我对您的设置/使用情况知之甚少,无法明确说明,但正如您所说,带有.erbinapp/assets 文件将由 Sprockets 处理。

于 2012-08-25T05:05:31.423 回答