如果我的问题听起来很完整,我首先道歉,但我是 Rails 的新手,我完全不确定框架中发生了什么。
我正在阅读一本关于“Ruby on Rails”的书,我只需要在单击按钮时从表中删除一些行。我在 assets/javascript/*.js.coffee 添加的 JavaScript 如下:
if $("#cart").length is 1
$("#cart").hide "blind",
direction: "vertical"
, 1000
$("#cart tr").not(".total_line").remove()
原始的 JavaScript(因为我是咖啡 js 的新手,所以我使用了一个在线转换器来转换它,我不确定它是否正确):
if ($('#cart').length == 1) { $('#cart').hide("blind", {direction: "vertical" }, 1000); }
$('#cart tr').not('.total_line').remove();
我在控制器的destroy方法中添加了:
format.js {}
现在方法看起来像:
def destroy
#@cart = Cart.find(params[:id])
#@cart.destroy
@cart = current_cart
@cart.destroy
session[:cart_id] = nil
respond_to do |format|
#format.html { redirect_to store_url,notice: 'Your cart is currently empty' }
format.js { }
format.html { redirect_to store_url }
format.json { head :no_content }
end
end
但它给了我以下错误(在单击应该调用js的按钮之后):
模板丢失
缺少模板 carts/destroy、application/destroy with {:locale=>[:en], :formats=>[:js, :html], :handlers=>[:erb, :builder, :coffee]}。在以下位置搜索:*“/home/gotqn/Aptana Projects/depot/app/views”
经过一番搜索,我发现这个问题模板缺失,它说我需要重定向到我的方法中的某个地方。我只是尝试写:
format.js {head :no_content }
我确实没有再次出现错误,但没有执行 JavaScript。
我真的需要一些帮助来解决这个问题。提前致谢。