Coffeescript 带有erb扩展名的Coffee脚本出现缺少模板错误
我使用的是rails 3.2.11和coffee rails 3.2.2 在这里,我试图在文件/app/views/my_files/create.js.coffee.erb中呈现一个咖啡脚本 以下是我的控制器代码的样子Coffeescript 带有erb扩展名的Coffee脚本出现缺少模板错误,coffeescript,ruby-on-rails-3.2,erb,Coffeescript,Ruby On Rails 3.2,Erb,我使用的是rails 3.2.11和coffee rails 3.2.2 在这里,我试图在文件/app/views/my_files/create.js.coffee.erb中呈现一个咖啡脚本 以下是我的控制器代码的样子 class MyFilesController < ApplicationController respond_to :js def create end end class MyFileController
class MyFilesController < ApplicationController
respond_to :js
def create
end
end
class MyFileController
点击“创建操作”时,我得到缺少模板错误。但当我将文件create.js.coffee.erb重命名为create.js.coffee时,效果很好
我不明白.coffee上的.erb扩展名的问题是什么,在这种情况下,当模板已经存在时,为什么会出现缺少模板的错误
谢谢您尝试将coffeescript呈现为视图而不是将其用作资产有什么特殊原因吗 .erb是一个ruby脚本文件,在编译时生成html文件。 .js.coffee在编译时会生成一个.js文件。您应该将.erb与create.html.erb模板一起使用,该模板反过来使用create.js.coffee
<%= javascript_include_tag "create" %>
这应该在您的create.html.erb中,myfilecontroller中的create方法将调用该文件将您的文件重命名为create.js.coffee 看
只是有同样的问题…是的,但我猜你是。erb可以用于js,你可以像“file.js.erb”一样使用它,所以这在我看来不是正确的原因。啊,是的,我在.erb问题上犯了错误。但是看起来js.erb只应该在控制器操作完成后作为js运行。在“视图”文件夹中使用create.js.coffee.erb可能试图将其呈现为模板,但事实并非如此。您是否尝试在资产文件夹中使用它?它是对控制器的操作响应,不属于资产文件夹。还有什么解决方案吗?这种方法如何影响资产管道的小型化?管道是否足够聪明,可以将其编译成javascript并缩小到各种application.js文件中?对我来说,这似乎是一个bug-当然与资产管道中的js.coffee.erb文件不一致(需要将erb作为嵌入式ruby预处理)。也混淆了rubymine