Rails 3 с Devise :Маршрут не соответствует /d/users/sign _out

Я получаю следующую ошибку, когда пытаюсь выйти из ошибки разработки:

No route matches [GET] "/d/users/sign_out"

Мой тег правильный, он выглядит следующим образом:

<%= link_to "Sign Out", destroy_session_path, :method=>:delete %>

Мой маршрут для разработки:

devise_for :users, :path_prefix=>"d", :controllers=>{:sessions=>"sessions"}

Другие маршруты:

resources :users#For CRUD defined after devise_for like in Devise Wiki

С пользовательскими сеансами контроллера для входа в систему ajax, как на вики-странице Devise :

class SessionsController < Devise::SessionsController

 def create
  respond_to do |format|
    format.html{ super }
    format.json do
     resource = warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#failure")
     #resource = warden.authenticate!(:scope => resource_name, :recall => :failure)
     return sign_in_and_redirect(resource_name, resource)
    end
   end
  end

def sign_in_and_redirect(resource_or_scope, resource=nil)
  scope = Devise::Mapping.find_scope!(resource_or_scope)
  resource ||= resource_or_scope
  sign_in(scope, resource) unless warden.user(scope) == resource
  return render :json => {:success => true, :redirect => stored_location_for(scope) || after_sign_in_path_for(resource)}
end

def failure
  return render:json => {:success => false, :errors => ["Login failed."]}
end

end

. Инициализатор устройства имеет:

config.sign_out_via = :delete

Любые идеи о том, что может быть причиной проблемы? Я искал Google и все еще в тупике.

Обновление:

Вот скриншот файла маршрутов рельсов для пользователей devise. Извините, он маленький, но вы можете щелкнуть правой кнопкой мыши -и просмотреть его отдельно на большом экране.

enter image description here

Обновление #2:

Файл jquery _ujs включен.

Обновление #3:

В консоли отображается, что удаление действительно передается, но оно переходит от контроллера сеансов _к /, а затем к d/users/sign _out... Не знаю, как это исправить.

Обновление #4:

При перенаправлении сначала выполняется d/users/sign _как DELETE, как и должно быть.Затем он перенаправляется на root_url, что затем выдает ошибку ERROR Errno::ECONNABORTED: An established connection was aborted by the software in your host machine.. Затем он пытается перенаправить на d/users/sign _как GET, где происходит сбой.

6
задан Travis Pessetto 16 July 2012 в 14:19
поделиться