0

我这里有这段代码。当 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。

4

1 回答 1

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.jsw/o 括号(或空的)。

于 2012-06-19T06:02:07.953 回答