【发布时间】:2018-10-19 02:12:17
【问题描述】:
以前我的设计模型可以工作,但现在所有路线都失败了。我有两个模型用户和管理员。每个都有来自普通的附加属性,:firstname,:lastname 等,每个都有单独的控制器,这些控制器是相同的,并且是 Devise RegistrationsController 的扩展。这一切都是从我开始添加引导程序开始的。 例如,当我尝试注销时,我收到此错误:
没有路由匹配 [GET] "/users/sign_out" Rails.root: /Users/elizabeth/Desktop/ecoCalculator
我不确定是什么导致它认为注销是 [GET]
当我尝试输入 /admins/sign_up 时,我得到:
Devise::Sessions#new 中的 ActionController::UrlGenerationError 显示 /Users/elizabethzweizig/Desktop/ecoCalculator/app/views/layouts/application.html.erb 其中第 61 行提出: 没有路由匹配 {:action=>"index", :controller=>"devise/posts"}
这指的是 Bootstrap 导航栏的一部分,但帖子未链接到设计。帖子不属于用户或管理员。
以下是我扩展的 RegistrationsController 的示例
class AdminRegistrationsController < Devise::RegistrationsController
private
def sign_up_params
params.require(:user).permit(:first_name, :last_name, :username, :hometown, :email, :password, :password_confirmation)
end
def account_update_params
params.require(:user).permit(:first_name, :last_name, :username, :hometown, :email, :password, :password_confirmation, :current_password)
end
end
这是我的 routes.rb 文件
Rails.application.routes.draw do
devise_for :users, :controllers => { registrations: 'registrations' } do
resources :waterusage
end
devise_for :admins, :controllers => { admin_registrations: 'admin registrations' }
get 'welcome/index'
get 'waterusage/result' => "waterusages#results"
resources :posts do
resources :comms
end
resources :waterusages
resources :goals
get "myprofile" => "yours#profile", :as => :myprofile
root 'welcome#index'
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end
【问题讨论】:
-
您是否为这两个模型生成了设计控制器?如果是这样,你应该有两个文件夹
users和admins,里面有不同的控制器:注册、会话、确认、密码..是这样吗?
标签: ruby-on-rails twitter-bootstrap devise routes