u19*_*964 0 authentication rake ruby-on-rails devise
我正在使用devise 2.1.0 for rails app 3.2.3.这是我做的:
Add gem 'devise' to Gemfile and run bundle
Run rails g devise:install
Run rails g devise User
Setup db by running rake db:migrate
Run Code Online (Sandbox Code Playgroud)
application.html.erb是这样的:
<%if user_signed_in? %>
Welcome <%= current_user.email%>
<%= link_to "Sign out", destroy_user_session_path%>
<% else %>
<%= link_to "Sign up", new_user_registration_path %> or
<%= link_to "Sign in", new_user_session_path %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
登录和注册工作正常,但当我单击退出时,我收到一条错误消息:
路由错误
没有路由匹配[GET]"/ users/sign_out"尝试运行rake路由以获取有关可用路由的更多信息.
这是rake路线的输出:
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
Run Code Online (Sandbox Code Playgroud)
我真的很困惑,因为那里有/ usrs/sign_out路线.有谁知道为什么?
试试这个:
<%= link_to "Sign out", destroy_user_session_path, :method => :delete %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
624 次 |
| 最近记录: |