Rails 条路线指向不同的位置
Rails routes pointing to different location
我在尝试注销用户时遇到错误。显示和删除用户工作正常。我得到:
NoMethodError in Users#show.
undefined method `email' for nil:NilClass
我注意到的另一个奇怪的事情是传递的参数
Parameters: {"id"=>"sign_out"}
我的看法:
- if user_signed_in?
= link_to destroy_user_session_path, class: "nav-link", :action => 'go' do
.nav-icon.icon-logout
.lock
= image_tag("icons/logout.png")
.unlock
= image_tag("icons/logout-hover.png")
Logout
- else
= link_to new_user_session_path, class: "nav-link", :action => 'go' do
.nav-icon.icon-login
.lock
= image_tag("icons/login.png")
.unlock
= image_tag("icons/login-hover.png")
Login
我的路线:
devise_for :users
resources :users, :only =>[:show]
match '/users', to: 'users#index', via: 'get'
match '/users/:id', to: 'users#show', via: 'get'
match '/users/:id' => 'users#destroy', :via => :delete
如此处发布
我错过了我认为的 method: :delete
。
= link_to destroy_user_session_path, method: :delete, class: "nav-link", :action => 'go' do
我在尝试注销用户时遇到错误。显示和删除用户工作正常。我得到:
NoMethodError in Users#show.
undefined method `email' for nil:NilClass
我注意到的另一个奇怪的事情是传递的参数
Parameters: {"id"=>"sign_out"}
我的看法:
- if user_signed_in?
= link_to destroy_user_session_path, class: "nav-link", :action => 'go' do
.nav-icon.icon-logout
.lock
= image_tag("icons/logout.png")
.unlock
= image_tag("icons/logout-hover.png")
Logout
- else
= link_to new_user_session_path, class: "nav-link", :action => 'go' do
.nav-icon.icon-login
.lock
= image_tag("icons/login.png")
.unlock
= image_tag("icons/login-hover.png")
Login
我的路线:
devise_for :users
resources :users, :only =>[:show]
match '/users', to: 'users#index', via: 'get'
match '/users/:id', to: 'users#show', via: 'get'
match '/users/:id' => 'users#destroy', :via => :delete
如此处发布
method: :delete
。
= link_to destroy_user_session_path, method: :delete, class: "nav-link", :action => 'go' do