我在这里有这个代码。当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。
答案 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括号(或空括号)留下。