0
我想用ajax重写我的应用程序中的某些操作。Rails ajax:无法加载资源:服务器响应状态为404(未找到)
items_controller:
...
def add_to_cart
@cart = Cart.where(id: session[:cart_id]).first
@cart = Cart.create if @cart.nil?
session[:cart_id] = @cart.id
session[:cart_items] = @cart.items
session[:cart_items] << @item
redirect_to root_url
end
...
items.js:
jQuery(function($) {
$(".addtoCart").click(function() {
var current_item = $(this).parents('tr')[0];
if(confirm("Add to cart")) {
$.ajax({
url: '/items/' + $(current_item).attr('data-item-id') + '/add_to_cart',
type: 'POST'
});
};
});
});
视图文件:
%tr{"data-item-id" => "#{i.id}"}
%td
%span.addtoCart Add to cart
路线:
Store::Application.routes.draw do
root 'items#index'
resources :items
resources :items do
get :add_to_cart, on: :member
end
end
当我点击Add to cart
时,出现错误Failed to load resource: the server responded with a status of 404 (Not Found)
和POST http://localhost:3000/items/13/add_to_cart 404 (Not Found)
,但存在/items/13
。我在哪里犯了一个错误?
错误堆栈跟踪:
Started POST "/items/13/add_to_cart" for 127.0.0.1 at 2014-03-30 02:55:03 +0400
ActionController::RoutingError (No route matches [POST] "/items/13/add_to_cart")
谢谢!
您可以共享定义的'routes'。此外,分享错误的完整堆栈跟踪。 –
您忘记添加完整的错误堆栈跟踪。 –
@KirtiThorat从浏览器的开发工具中加入了stacktrace(不知道我是否明白你的意思) –