jQuery为有效的rails路由返回404?

时间:2013-12-12 15:30:25

标签: jquery ruby-on-rails

我在我的铁路线上有这个:

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我完全是愚蠢的。我在控制台中使用这段代码找到了答案:

$.ajax({
  type:'POST', 
  url:'/api/callbacks', 
  complete:function(xhr){ document.body.innerHTML=xhr.responseText; }
})

路由有效,但它发送了404,因为找不到我试图在控制器内访问的记录。