设计登录路线导轨时遇到问题

设计登录路线导轨时遇到问题

问题描述:

我在使用Devise成功注册后使用导轨登录时出现问题。设计登录路线导轨时遇到问题

我得到这个错误。

没有路由匹配[POST] “/会话/用户”

我不知道为什么。我有一个名为'会话'的模型,这可能是为什么?

这里是视图 -

<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 

我周围搜查,但没有发现任何重复,如果你抓到的东西“耙路线”请让我知道。感谢您的帮助。

在页面级

<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个小时(另一个)想我得到它。 –

好了的标志,其设计定义与自己的路线冲突的方法session_path:https://github.com/plataformatec/devise/blob/master/lib/devise/controllers/url_helpers.rb#L9

你要么需要重新命名您的会话模型或提供不同名称为您的会话模型指定路由。例如:

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

太好了,谢谢。现在正在处理这个问题..很快就会更新。 –

+1

我最终重命名模型。 –