2012-09-22 2 views
0

У меня проблема с регистрацией после успешной регистрации с помощью Devise с рельсами.Проблема с Devise логин маршрута маршрута

Получаю эту ошибку.

нет маршрута матчей [POST] "/ сессии/пользователя"

Я не уверен, почему. Может быть, у меня есть модель с именем «session»?

Вот view-

<ul class="nav pull-right"> 
     <% if user_signed_in? %> 
      <li><%= link_to current_user.full_name, edit_user_registration_path %></li> 
      <li><%= link_to "log out", destroy_user_session_path, method: :delete %></li> 
     <% else %> 
      <li><%= link_to "Register", new_user_registration_path %></li> 
      <li><%= link_to "Log in", new_user_session_path %></li> 
     <% end %> 
</ul> 

А вот выход из «рейк маршруты»

new_user_session GET /users/sign_in(.:format)  devise/sessions#new 
     user_session POST /users/sign_in(.:format)  devise/sessions#create 
destroy_user_session DELETE /users/sign_out(.:format)  devise/sessions#destroy 
     user_password POST /users/password(.:format)  devise/passwords#create 
    new_user_password GET /users/password/new(.:format) devise/passwords#new 
    edit_user_password GET /users/password/edit(.:format) devise/passwords#edit 
        PUT /users/password(.:format)  devise/passwords#update 
cancel_user_registration GET /users/cancel(.:format)  devise/registrations#cancel 
    user_registration POST /users(.:format)    devise/registrations#create 
new_user_registration GET /users/sign_up(.:format)  devise/registrations#new 
edit_user_registration GET /users/edit(.:format)   devise/registrations#edit 
        PUT /users(.:format)    devise/registrations#update 
        DELETE /users(.:format)    devise/registrations#destroy 
      sessions GET /sessions(.:format)   sessions#index 
        POST /sessions(.:format)   sessions#create 
     new_session GET /sessions/new(.:format)  sessions#new 
     edit_session GET /sessions/:id/edit(.:format) sessions#edit 
      session GET /sessions/:id(.:format)  sessions#show 
        PUT /sessions/:id(.:format)  sessions#update 
        DELETE /sessions/:id(.:format)  sessions#destroy 
       root  /       sessions#index 

Я искал вокруг, но не нашли никаких дубликатов, если вы что-то поймать здесь, пожалуйста, дайте мне знать. Спасибо за вашу помощь по этому поводу.

Знак в PAGE-

<div class="row"> 
<div class="span4"> 
    <%= simple_form_for(resource, :as => resource_name, :url => session_path(resource_name),  html: {class: "well"}) do |f| %> 

    <fieldset> 
    <legend>Sign in</legend> 

     <%= f.input :email %> 
     <%= f.input :password %> 

    <% if devise_mapping.rememberable? -%> 
     <div><%= f.input :remember_me, as: :boolean %> </div> 
    <% end -%> 

    <div><%= f.button :submit, "Sign in" %></div> 
    </fieldset> 
    <% end %> 

    <%= render "devise/shared/links" %> 
    </div> 

    <div class="span8"> 
    <h2>Signing in is easy and secure!</h2> 
    </div> 
</div> 
+0

Не могли бы вы рассказать о том, как происходит ошибка? – rossta

+0

Да, извинения. Всякий раз, когда я регистрируюсь, выходите, а затем пытайтесь войти в систему с пользователем, которого я только что создал. Я получаю сообщение об ошибке. –

+0

Все еще застрял, пожалуйста, помогите, я не против поиска или чтения для ответа, если кто-то может указать мне в правильном направлении. Мне просто нужно знать это направление и не тратить (другое) 6 часов, думая, что я его получаю. –

ответ

1

Ok, Разрабатывают определяет метод session_path, который конфликтует с вашими собственными путями: https://github.com/plataformatec/devise/blob/master/lib/devise/controllers/url_helpers.rb#L9

Вам необходимо либо переименовать модель Session или предоставить другое имя при указании маршрутов для вашей модели сеанса. Что-то вроде:

# routes.rb 
resources :sessions, as: :logins 
+0

Отлично, спасибо. Работа над этим сейчас .. скоро будет обновляться. –

+1

В итоге я переименовал модель. –

Смежные вопросы