超薄模板,在Rails 4中的format.js模板渲染

时间:2014-06-15 16:38:26

标签: ruby-on-rails ruby-on-rails-4 slim-lang

我一直在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}对于这些文件可能会更好,因为它本身就支持这类文件。

有更好的方法吗?

0 个答案:

没有答案