我一直在ERB工作,并大量使用.js.erb文件来呈现JS响应。我最近因Slim模板而堕落,但我很难找到相同的文件来保存Slim格式的文件。
假设我在我的控制器中执行update
操作,结尾看起来像这样:
respond_to do |format|
format.js {}
end
让我们假装我尝试发送alert('hello')
作为回复。
update.js
工作正常,update.js.erb
也是如此。如果update.js.slim
看起来像这样:
javascript:
alert('hello')
...它是作为响应发送的,如下所示:
<script type="text/javascript">(function() {
alert('hello');
}).call(this);
</script>
这不会起作用,因为浏览器需要Javascript,这是一个带脚本标签的HTML文件。谢谢,苗条。如果我使用|
来呈现纯文本,它会起作用:
update.js.slim
|
alert('hi');
管道角色之后的所有内容都以SublimeText 2颜色编码显示,我仍然可以访问#{}
中的Ruby代码和变量。到目前为止,这似乎是我唯一的选择,如果我想坚持以Slim格式保存,但由于它没有给我Slim的任何好处,我几乎觉得只是使用{{1}对于这些文件可能会更好,因为它本身就支持这类文件。
有更好的方法吗?