我可以在Assets的咖啡脚本中使用`render`功能吗?

时间:2013-12-19 17:26:18

标签: javascript ruby-on-rails coffeescript

从其他网站更新数据时,我正在使用ajax并希望显示加载图片。 我现在正在使用这样的代码。

$ ->
  $('#reload-lists').on(
    click: -> $('#list_owned').html("<div class='panel radius'><img src='assets/load.gif'/></div>")
    'ajax:success': (data, res, xhr) -> $('#list_owned').html res
  )

我想用<div class='panel radius'><img src='assets/load.gif'/></div>函数替换render部分。但是你知道这不是erb文件,所以我不能这样做。

我将文件名*.js.coffee更改为*.js.coffee.erb,但只会导致错误。 如何在assets/javascript中使用咖啡脚本中的html模板文件。

如果我走错了路,请告诉我应该如何实现这样的类似功能。

1 个答案:

答案 0 :(得分:0)

您想使用EJS Javascript模板。它就像erb,但在Javascript中。

请遵循本指南

此解决方案最简单。提醒一下,最终用户(aka / assets或/ public)需要访问这些EJS模板。 EJS模板是动态呈现的,不在您的Rails资产管道中。如果您对Rails中的预编译模板感兴趣,请查看“JST模板”。

(还有很多其他选择:http://garann.github.io/template-chooser/