在我的Rails应用中,我尝试使用jQuery ajax通过我的控制器的默认
我的
服务器端代码仍然与生成时相同:
这似乎非常简单,但我遇到了以下错误:
create
方法创建一个新项。我的
routes.rb
文件如下:resources :items
服务器端代码仍然与生成时相同:
# POST /items
# POST /items.json
def create
@item = Item.new(params[:item])
respond_to do |format|
if @item.save
format.html { redirect_to @item, :notice => 'Item was successfully created.' }
format.json { render :json => @item, :status => :created, :location => @item }
else
format.html { render :action => "new" }
format.json { render :json => @item.errors, :status => :unprocessable_entity }
end
end
end
我的JavaScript代码:
$("#capture_input").focusout(function() {
var description = $(this).val();
$.ajax({
type: "POST",
url: '/items/create.json',
data: {
item: {
description : description
}
},
dataType: 'json',
success: function(msg) {
alert( "Data Saved: " + msg );
}
});
});
这似乎非常简单,但我遇到了以下错误:
ActionController::RoutingError (No route matches [POST] "/items/create.json"):
在类似的情况下,我已经能够使用默认的update
方法而没有任何问题。这里的问题是什么?
编辑:修正了routes.rb代码中的拼写错误。
rake routes
命令时,你看到了什么?你能看到用 POST 创建 items 的路由吗? - Michal Kuklis