3

因此,我在一些 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 中使用咖啡脚本的正确方法是什么?

作为记录,我coffee-rails在我的 Gemfile 中有,并且在资产管道中使用咖啡脚本。

4

2 回答 2

3

我以前见过 .coffee.erb 。还在四处寻找那个项目。

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

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

于 2012-06-13T02:46:37.640 回答
0

您需要将coffee-rails gem 添加到您的项目中才能正常工作。

于 2012-06-13T02:38:01.553 回答