设计登录路线导轨时遇到问题
问题描述:
我在使用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>
答
好了的标志,其设计定义与自己的路线冲突的方法session_path:https://github.com/plataformatec/devise/blob/master/lib/devise/controllers/url_helpers.rb#L9
你要么需要重新命名您的会话模型或提供不同名称为您的会话模型指定路由。例如:
# routes.rb
resources :sessions, as: :logins
+0
太好了,谢谢。现在正在处理这个问题..很快就会更新。 –
+1
我最终重命名模型。 –
您能详细说明错误是怎么发生的吗? – rossta
是的,道歉。无论何时我注册,注销,然后尝试用我刚刚创建的用户重新登录。我收到错误。 –
仍然卡住请帮助,我不介意搜索或阅读答案,如果有人可以指出我在正确的方向。我只需要知道那个方向,而不用花6个小时(另一个)想我得到它。 –