Rails, CoffeeScript and ERB



所以我正在为一些操作而弄乱一些javascript响应器。因此,例如,

def create
  #code omitted
  respond_to do |format|
    if @post.save
      format.html { redirect_to discussion_posts_path(@post.discussion), notice: 'Post was successfully created.' }
      format.js
    else
      format.html { render :action => "new" }
    end
  end
end
#create.js.erb
$("#discussion_posts_table").append("<%= escape_javascript(render(@post)) %>");
$("#post_body").val("");

现在假设我想将这些javascript函数转换为Coffeescript(撇开它几乎没有获得任何收益的事实),如果我将文件更改为create.js.coffee.erb它就会停止工作。在UJS中使用咖啡脚本的正确方法是什么?

作为记录,我在我的 Gemfile 中coffee-rails,并在资产管道中使用 coffeescript。

我以前见过.coffee.erb。仍在四处寻找该项目。

好吧,如果它们仍在您的视图中,只需使用 .js.coffee

编辑1:显然Rails仍然会奇怪地处理erb。编辑2:此外,您可以将erb添加到js.coffee文件的末尾,它们只是以特定的顺序进行预处理,因此可能会抛弃Rails。

您需要将

咖啡轨道 gem 添加到您的项目中才能正常工作。

最新更新