Ruby on rails Rails、CoffeeScript和ERB

Ruby on rails Rails、CoffeeScript和ERB,ruby-on-rails,coffeescript,ujs,Ruby On Rails,Coffeescript,Ujs,因此,我在一些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

因此,我在一些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("");
def创建
#代码省略
回应待办事项|格式|
如果@post.save
format.html{redirect_to discussion_posts_path(@post.discussion),注意:'post已成功创建。}
format.js
其他的
format.html{render:action=>“new”}
结束
结束
结束
#create.js.erb
$(“#讨论(帖子)表”)。追加(“”);
$(“#邮政机构”).val(“”);
现在让我们假设我想将这些javascript函数转换为Coffeescript(撇开它几乎一无所获的事实不谈),如果我将文件更改为
create.js.coffee.erb
它将停止工作。在UJS中使用coffeescript的正确方法是什么


作为记录,我的gem文件中有
coffee rails
,并且正在资产管道中使用coffeescript。

您需要将gem添加到项目中才能工作。

我已经看到了。coffee.erb以前使用过。还在四处寻找那个项目

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

编辑1:显然Rails仍然会处理erb,这已经够奇怪了。
编辑2:另外,您可以将erb添加到js.coffee文件的末尾,它们是按特定顺序进行jsut预处理的,因此可能会偏离轨道。

我有coffee Rails gem。Coffeescript在资产管道中工作,而不是在视图级别。那很有趣。它仍然处理erb,没有.erb扩展名。但现在它提交了两次表格。隐马尔可夫模型。