我有一个使用设计的应用程序,我已经为公司创建了登录信息 这是我的路线文件
的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
注销时它给了我错误,不知道发生了什么
答案 0 :(得分:1)
通过添加resources :companies
,您告诉Rails有一个CompaniesController,但您没有定义它。有关详细信息,请参阅this post,但基本上如果您要devise_for :companies
和resources :companies
,则需要定义CompaniesController。
答案 1 :(得分:0)
在努力尝试之后我终于找到了解决方案,我需要将删除中的退出方法更改为get,但我不知道为什么我需要执行GET方法才能退出
config.sign_out_via = :delete
至config.sign_out_via = :get