У меня есть приложение rails, которое было перенесено за годы с 2.2 до 3.2. Я использую Devise и Omniauth для работы логинов, к сожалению, я думаю, что во время миграции я что-то напутал.
Когда я пытаюсь настроить удаление сеанса в application.html.erb, я получаю следующую ошибку:
undefined local variable or method `destroy_user_session_path' for #<#<Class:0xb468e278>:0xb423e1dc>
application.html.erb:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>Coffee Tracker</title>
<%= stylesheet_link_tag 'application'%>
<!--%= stylesheet_link_tag 'scaffold' %-->
</head>
<!--%= javascript_include_tag :defaults %-->
<%= javascript_include_tag 'application' %>
<%= csrf_meta_tag %>
...snip...
<% if user_signed_in? %>
<span id="currentuser"><%= current_user.email %></span>
<%= link_to('Logout', destroy_user_session_path, :method => 'delete') %>
<% else %>
Я также получаю ту же ошибку при попытке строки:
<%= link_to('Logout', destroy_user_session_path, :method => :delete) %>
application.js
// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
//= require_self
//= require_tree .
//= require jquery
//= require jquery_ujs
Rails 3.2.0
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-linux]
- рельсы (3.2.0)
- jquery-рельсы (2.0.0)
- devise (2.0.0)
- omniauth (1.0.2)
- omniauth-facebook (1.2.0)
- omniauth-oauth2 (1.0.0)
Обновление:
Вот грабли маршрутов:
user_omniauth_callback /users/auth/:action/callback(.:format) users/omniauth_callbacks#(?-mix:facebook)
coffee_list GET /coffee/list(.:format) coffee#list
root / menu#index
/:controller(/:action(/:id(.:format))) :controller#:action