【问题标题】:Rails routes pointing to different location [duplicate]Rails路线指向不同的位置[重复]
【发布时间】:2020-04-29 08:54:55
【问题描述】:

我在尝试注销用户时遇到错误。显示和删除用户工作正常。我明白了:

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

【问题讨论】:

    标签: ruby-on-rails devise routes


    【解决方案1】:

    如发布在这里 On destroying session via Devise "Couldn't find User with 'id'=sign_out" 在我看来,我错过了method: :delete

    = link_to destroy_user_session_path, method: :delete, class: "nav-link", :action => 'go' do

    【讨论】:

      猜你喜欢
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多