Javascript Rails ajax:加载资源失败:服务器响应状态为404(未找到)
我正试图用ajax重写我的应用程序中的一些操作 控制器的项目:Javascript Rails ajax:加载资源失败:服务器响应状态为404(未找到),javascript,jquery,ruby-on-rails,ajax,Javascript,Jquery,Ruby On Rails,Ajax,我正试图用ajax重写我的应用程序中的一些操作 控制器的项目: ... 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 redi
...
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
...
查看文件:
%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
当我点击添加到购物车时
有一个错误加载资源失败:服务器响应状态为404(未找到)
和POSThttp://localhost:3000/items/13/add_to_cart 404(未找到)
尽管存在/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")
谢谢 按以下方式更改您的路线:
root 'items#index'
resources :items do
post :add_to_cart, on: :member
end
我将add_to_cart
请求转换为post
而不是get
,因为您正在触发post
请求,并且已将路由定义为get
。
此外,我还删除了重复的路由定义
参考资料:项目
和您能否共享定义的路由
。另外,共享错误的完整stacktrace。您忘记添加错误的完整stacktrace。@KirtiThorat从Browser的开发工具中添加了stacktrace(不确定我是否清楚您的意思),而不是此stacktrace,您在服务器日志中看到的说明加载资源失败的stacktrace:服务器响应状态为404(未找到)…@KirtiThorat抱歉,已编辑
root 'items#index'
resources :items do
post :add_to_cart, on: :member
end