我一直在ERB工作,并大量使用.js.erb文件来呈现JS响应 . 我最近为Slim模板而堕落,但是我很难找到一个与Slim格式相同的文件 .
假设我正在我的控制器中执行 update
动作,结束如下:
respond_to do |format|
format.js {}
end
让's pretend that I' m尝试发送 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的好处,我几乎觉得只是使用 .js.erb
这些文件可能是更好,因为它有这种东西的原生支持 .
有没有更好的方法呢?