我在我的铁路线上有这个:
scope '/api' do
# ...
resources :callbacks, only: [:create]
end
正在工作(返回500错误)但是我修复了这个问题,突然间我遇到了404错误,当时运行了这个coffeescript:
$('.add-callback button').on 'click', (e) ->
$form = $(@).parent()
$data =
notes: $form.find('[name="callback-notes"]').val()
date : $form.find('[name="callback-date"]').val()
time : $form.find('[name="callback-time"]').val()
$.ajax
type: "POST",
url: "/api/callbacks",
data: $data,
success: (data) ->
if data.success
$form.fadeOut ->
location.reload true
然后返回:
POST http://localhost:3000/api/callbacks 404 (Not Found)
但是当你在其他地方获得404时,POST /api/callbacks
会在有效路线列表中找到:
callbacks_path POST /api/callbacks(.:format) callbacks#create
有什么想法吗?
答案 0 :(得分:1)
我完全是愚蠢的。我在控制台中使用这段代码找到了答案:
$.ajax({
type:'POST',
url:'/api/callbacks',
complete:function(xhr){ document.body.innerHTML=xhr.responseText; }
})
路由有效,但它发送了404,因为找不到我试图在控制器内访问的记录。