未找到设计范围控制器

时间:2015-03-09 22:26:29

标签: devise ruby-2.1 ruby-on-rails-4.2

我创建了以下设计范围:

devise_scope :users do get
  get 'spotkey'     => 'spotkeys#spot_page'
  get 'dashboard'     => 'spotkeys#dashboard'
  post 'dashboard'    => 'spotkeys#dashboard'
  get 'signup' => 'users/registrations#new', :as => :new_user_session
  post 'signin'=> 'users/sessions#create',  :as => :user_session
  delete 'signout' => 'users/sessions#destroy'
end

控制器/ users.rb的

class UsersController < ApplicationController

  def index
  end

  def show
    @user = User.find_by(id: params[:id])
  end


  def dashboard
    @keys     = Spotkeys.all
    @keys     = Spotkeys.new
    @spotkeys = Spotkeys.all
    @spotkeys = Spotkeys.new
  end
end

视图/ spotkeys / dashboard.hrml.erb

<div class="key">
  <%= @keys.location %><br/>
  <%= @keys.picture_url %><br/>
  <%= @keys.floor_number %><br/>
  <%= @keys.description %><br/>
  <%= @keys.floor %><br/>
  <%= @keys.buzzer_code %><br/>
  <%= @keys.parking_info %><br/>
  <%= @keys.cross_street %><br/>
  <%= @keys.public_transit %>
</div>

我收到了以下错误:

missing :controller key on routes definition, please check your routes

如果您需要查看任何其他文件,请与我们联系。

1 个答案:

答案 0 :(得分:0)

我注意到的问题:

  1. 关于this commentdevise how-to wikidevise_scope需要单数devise_for中的资源名称,相反,需要资源名称的复数)。
  2. 您在get的同一行上也有一个奇怪的devise_scope - 它可能会导致问题。
  3. 引发错误的

    Routing mapper也表明它找不到这样的控制器。它可能会尝试根据devise_scope复数形式搜索控制器。或者它尝试在get之后的额外:users do关键字后找到控制器名称。