用rails提供javascript

时间:2012-06-19 05:36:40

标签: ruby-on-rails ruby

我在这里有这个代码。当format.js触发时,我想向客户端提供一个javascript文件。我该怎么做?

class LineItemsController < ApplicationController

def destroy
  @line_item = LineItem.find(params[:id])
  @line_item.destroy

  respond_to do |format|
    format.html { redirect_to line_items_url }
    format.js {}
    format.json { head :no_content }
  end
end

我在控制器中有一个名为destroy.js.erb的文件,但它不会自动运行。我尝试了很多组合,但似乎没有任何效果......

我把什么放在format.js {???提供我想要的javascript文件?我不想写香草javascript。

1 个答案:

答案 0 :(得分:2)

要触发你的销毁行动的js响应,请尝试:

<%= button_to 'Remove', @line_item, method: :delete, remote: :true %>

出于测试目的,请将destroy.js.erb设为:

alert("Line item with id <%= @line_item.id %> has been removed");

您可以将format.js w / o括号(或空括号)留下。