我创建了以下设计范围:
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
如果您需要查看任何其他文件,请与我们联系。
答案 0 :(得分:0)
我注意到的问题:
devise_scope
需要单数(devise_for
中的资源名称,相反,需要资源名称的复数强>)。 get
的同一行上也有一个奇怪的devise_scope
- 它可能会导致问题。 Routing mapper也表明它找不到这样的控制器。它可能会尝试根据devise_scope
的复数形式搜索控制器。或者它尝试在get
之后的额外:users do
关键字后找到控制器名称。