rails设计在注销时显示未初始化的常量

时间:2015-12-17 14:40:03

标签: ruby-on-rails ruby devise

我有一个使用设计的应用程序,我已经为公司创建了登录信息 这是我的路线文件

的routes.rb

Rails.application.routes.draw do
  devise_for :companies
  root 'welcome#index'

  resources :companies do
    resource :company_profile do
      member do
        post :follow_company
        post :unfollow_company
      end
    end
    resources :events do
      member do
        post :follow_event
        post :unfollow_event

      end
      collection do
        get :new_job
      end
      get :job_pending
    end
    resources :company_profiles do
      collection do
        get :job_status
      end
    end
  end
end

我有一个公司的配置文件控制器, 我在尝试退出时遇到问题,当我点击此链接<%= link_to "log out", destroy_company_session_path, method: :delete, :class => 'button' %>

时,我会收到错误

未初始化的常量CompaniesController

当我在网址中没有公司ID时尝试注销时出现此问题

就像我在网址

的页面上一样
localhost:3000/companies/1/company_profile

它正确地记录了我,但当我尝试从localhost:3000

注销时

它给了我错误,不知道发生了什么

2 个答案:

答案 0 :(得分:1)

通过添加resources :companies,您告诉Rails有一个CompaniesController,但您没有定义它。有关详细信息,请参阅this post,但基本上如果您要devise_for :companiesresources :companies,则需要定义CompaniesController。

答案 1 :(得分:0)

在努力尝试之后我终于找到了解决方案,我需要将删除中的退出方法更改为get,但我不知道为什么我需要执行GET方法才能退出

config.sign_out_via = :deleteconfig.sign_out_via = :get