2016-12-13 15 views
0

これはよくある問題のようです。私はいくつかの解決方法を試してみて、予期しない問題が発生しています。目標は、管理者が権限を編集してユーザーアカウントを削除できるページを作成することです。ルート:管理者がユーザーを削除できるようにする

devise_for :users, controllers: { registrations: 'users/registrations'} 
get '/login', to: 'sessions#new' 
match '/users', to: 'users#index', via: 'get' 
match '/users/makeAdmin', to: 'users#makeAdmin', via: 'get', :as => :users_makeAdmin 
match '/users/revokeAdmin', to: 'users#revokeAdmin', via: 'get' 
match 'users/:id' => 'users#destroy', :via => :delete, :as => :admin_destroy_user 
match 'users/:id' => 'users#show', via: 'get', as: :user 
resources :users 

users_controller.rb

class UsersController < ApplicationController 
    def index 
    end 

    def makeAdmin 
    @user = User.find(params[:id]) 
    @user.update(admin: true) 
    redirect_to users_index_path 
    end 

    def revokeAdmin 
    @user = User.find(params[:id]) 
    @user.update(admin: false) 
    redirect_to users_index_path 
    end 

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

    def destroy 
    @user = User.find(params[:id]) 
    @user.destroy 

    if @user.destroy 
     redirect_to users_index_path, notice: "User deleted." 
    end 
    end 
end 

ユーザー/ index.html.erb

<style> 
.button_to { 
    display: inline; 
} 
.evenrow { 
    background-color: #eee; 
} 
</style> 
<script type="text/javascript"> 
function alert() { 
    alert("The paragraph was clicked."); 
} 
</script> 
<h1>All Users</h1> 

<ul class="list-group" style="padding: 0em 10% 0em 10%;"> 
    <li class="list-group-item" style="background-color: #428bca; border-color: #357ebd;; color: #fff;"> 
     <div class="row"> 
      <div class="col-md-3"> 
       <b>User Email</b> 
      </div> 
      <div class="col-md-3"> 
       <b>User Name</b> 
      </div> 
      <div class="col-md-1"> 
       <b>Admin</b> 
      </div> 
      <div class="col-md-5"> 
       <b>Controls</b> 
      </div> 
     </div> 
    </li> 
    <%@users = User.all%> 
    <% @users.each do |user| %> 
    <li class="list-group-item"> 
     <div class="row"> 
      <div class="col-md-3"> 
       <%= user.email %> 
      </div> 
      <div class="col-md-3"> 
       <%= user.name %> 
      </div> 
      <div class="col-md-1"> 
       <%= user.admin %> 
      </div> 
      <div class="col-md-5"> 
       <% if user.admin %><%= link_to 'Revoke Admin', users_revokeAdmin_path(id: user.id), class: "btn btn-primary btn-md" %><% else %><%= link_to 'Make Admin', users_makeAdmin_path(id: user.id), class: "btn btn-primary btn-md" %><% end %> 
       | <%= link_to "Destroy", admin_destroy_user_path(user), method: :delete, data: { confirm: "You sure?" }, class: "btn btn-primary btn-md" %> 
      </div> 
     </div> 
    </li> 
    <% end %> 
</ul> 

私は、ユーザーのために破壊するボタンを押すと、私は

を言うエラーが出ます
Template is missing 
Missing template users/show, application/show with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in: * "/home/student/SLP/rca/app/views" * "/home/student/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/devise-4.2.0/app/views" 

私はこれを扱っている他の質問でこれが言及されていることを見ていない、任意の助けに感謝します。 編集:誰かが尋ねたのでここにスタックがあります。

actionview (4.2.6) lib/action_view/path_set.rb:46:in `find' 
actionview (4.2.6) lib/action_view/lookup_context.rb:121:in `find' 
actionview (4.2.6) lib/action_view/renderer/abstract_renderer.rb:18:in `find_template' 
actionview (4.2.6) lib/action_view/renderer/template_renderer.rb:40:in `determine_template' 
actionview (4.2.6) lib/action_view/renderer/template_renderer.rb:8:in `render' 
actionview (4.2.6) lib/action_view/renderer/renderer.rb:46:in `render_template' 
actionview (4.2.6) lib/action_view/renderer/renderer.rb:27:in `render' 
actionview (4.2.6) lib/action_view/rendering.rb:100:in `_render_template' 
actionpack (4.2.6) lib/action_controller/metal/streaming.rb:217:in `_render_template' 
actionview (4.2.6) lib/action_view/rendering.rb:83:in `render_to_body' 
actionpack (4.2.6) lib/action_controller/metal/rendering.rb:32:in `render_to_body' 
actionpack (4.2.6) lib/action_controller/metal/renderers.rb:37:in `render_to_body' 
actionpack (4.2.6) lib/abstract_controller/rendering.rb:25:in `render' 
actionpack (4.2.6) lib/action_controller/metal/rendering.rb:16:in `render' 
actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render' 
activesupport (4.2.6) lib/active_support/core_ext/benchmark.rb:12:in `block in ms' 
/home/student/.rbenv/versions/2.3.1/lib/ruby/2.3.0/benchmark.rb:308:in `realtime' 
activesupport (4.2.6) lib/active_support/core_ext/benchmark.rb:12:in `ms' 
actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:44:in `block in render' 
actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime' 
activerecord (4.2.6) lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime' 
actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:43:in `render' 
actionpack (4.2.6) lib/action_controller/metal/implicit_render.rb:10:in `default_render' 
actionpack (4.2.6) lib/action_controller/metal/implicit_render.rb:5:in `send_action' 
actionpack (4.2.6) lib/abstract_controller/base.rb:198:in `process_action' 
actionpack (4.2.6) lib/action_controller/metal/rendering.rb:10:in `process_action' 
actionpack (4.2.6) lib/abstract_controller/callbacks.rb:20:in `block in process_action' 
activesupport (4.2.6) lib/active_support/callbacks.rb:117:in `call' 
activesupport (4.2.6) lib/active_support/callbacks.rb:555:in `block (2 levels) in compile' 
activesupport (4.2.6) lib/active_support/callbacks.rb:505:in `call' 
activesupport (4.2.6) lib/active_support/callbacks.rb:92:in `__run_callbacks__' 
activesupport (4.2.6) lib/active_support/callbacks.rb:778:in `_run_process_action_callbacks' 
activesupport (4.2.6) lib/active_support/callbacks.rb:81:in `run_callbacks' 
actionpack (4.2.6) lib/abstract_controller/callbacks.rb:19:in `process_action' 
actionpack (4.2.6) lib/action_controller/metal/rescue.rb:29:in `process_action' 
actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action' 
activesupport (4.2.6) lib/active_support/notifications.rb:164:in `block in instrument' 
activesupport (4.2.6) lib/active_support/notifications/instrumenter.rb:20:in `instrument' 
activesupport (4.2.6) lib/active_support/notifications.rb:164:in `instrument' 
actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:30:in `process_action' 
actionpack (4.2.6) lib/action_controller/metal/params_wrapper.rb:250:in `process_action' 
activerecord (4.2.6) lib/active_record/railties/controller_runtime.rb:18:in `process_action' 
actionpack (4.2.6) lib/abstract_controller/base.rb:137:in `process' 
actionview (4.2.6) lib/action_view/rendering.rb:30:in `process' 
actionpack (4.2.6) lib/action_controller/metal.rb:196:in `dispatch' 
actionpack (4.2.6) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch' 
actionpack (4.2.6) lib/action_controller/metal.rb:237:in `block in action' 
actionpack (4.2.6) lib/action_dispatch/routing/route_set.rb:74:in `dispatch' 
actionpack (4.2.6) lib/action_dispatch/routing/route_set.rb:43:in `serve' 
actionpack (4.2.6) lib/action_dispatch/journey/router.rb:43:in `block in serve' 
actionpack (4.2.6) lib/action_dispatch/journey/router.rb:30:in `each' 
actionpack (4.2.6) lib/action_dispatch/journey/router.rb:30:in `serve' 
actionpack (4.2.6) lib/action_dispatch/routing/route_set.rb:817:in `call' 
warden (1.2.6) lib/warden/manager.rb:35:in `block in call' 
warden (1.2.6) lib/warden/manager.rb:34:in `catch' 
warden (1.2.6) lib/warden/manager.rb:34:in `call' 
rack (1.6.4) lib/rack/etag.rb:24:in `call' 
rack (1.6.4) lib/rack/conditionalget.rb:25:in `call' 
rack (1.6.4) lib/rack/head.rb:13:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/params_parser.rb:27:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/flash.rb:260:in `call' 
rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context' 
rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/cookies.rb:560:in `call' 
activerecord (4.2.6) lib/active_record/query_cache.rb:36:in `call' 
activerecord (4.2.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call' 
activerecord (4.2.6) lib/active_record/migration.rb:377:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call' 
activesupport (4.2.6) lib/active_support/callbacks.rb:88:in `__run_callbacks__' 
activesupport (4.2.6) lib/active_support/callbacks.rb:778:in `_run_call_callbacks' 
activesupport (4.2.6) lib/active_support/callbacks.rb:81:in `run_callbacks' 
actionpack (4.2.6) lib/action_dispatch/middleware/callbacks.rb:27:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/reloader.rb:73:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/remote_ip.rb:78:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call' 
web-console (2.3.0) lib/web_console/middleware.rb:28:in `block in call' 
web-console (2.3.0) lib/web_console/middleware.rb:18:in `catch' 
web-console (2.3.0) lib/web_console/middleware.rb:18:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call' 
railties (4.2.6) lib/rails/rack/logger.rb:38:in `call_app' 
railties (4.2.6) lib/rails/rack/logger.rb:20:in `block in call' 
activesupport (4.2.6) lib/active_support/tagged_logging.rb:68:in `block in tagged' 
activesupport (4.2.6) lib/active_support/tagged_logging.rb:26:in `tagged' 
activesupport (4.2.6) lib/active_support/tagged_logging.rb:68:in `tagged' 
railties (4.2.6) lib/rails/rack/logger.rb:20:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/request_id.rb:21:in `call' 
rack (1.6.4) lib/rack/methodoverride.rb:22:in `call' 
rack (1.6.4) lib/rack/runtime.rb:18:in `call' 
activesupport (4.2.6) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' 
rack (1.6.4) lib/rack/lock.rb:17:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/static.rb:120:in `call' 
rack (1.6.4) lib/rack/sendfile.rb:113:in `call' 
railties (4.2.6) lib/rails/engine.rb:518:in `call' 
railties (4.2.6) lib/rails/application.rb:165:in `call' 
rack (1.6.4) lib/rack/lock.rb:17:in `call' 
rack (1.6.4) lib/rack/content_length.rb:15:in `call' 
rack (1.6.4) lib/rack/handler/webrick.rb:88:in `service' 
/home/student/.rbenv/versions/2.3.1/lib/ruby/2.3.0/webrick/httpserver.rb:140:in `service' 
/home/student/.rbenv/versions/2.3.1/lib/ruby/2.3.0/webrick/httpserver.rb:96:in `run' 
/home/student/.rbenv/versions/2.3.1/lib/ruby/2.3.0/webrick/server.rb:296:in `block in start_thread' 
+0

?あなたが破壊したとき。 – angkiki

+0

@angkiki質問を更新しました。それはあなたが探していたものですか? – newtothis

+0

そうです。しかし、削除ボタンをクリックした時点からその部分を投稿することはできますか? – angkiki

答えて

0

理由あなたはテンプレートなしのエラーを打っているあなたは、すでに上記の行でユーザーを破壊してきたので、if @user.destroyがfalseであるためです。したがって、redirect_to users_index_pathは決して起こらず、破壊テンプレートを探しています。

にコードを変更し

:あなたは、サーバーのログを投稿することができ

def destroy 
    @user = User.find(params[:id]) 

    if @user.destroy 
    redirect_to users_index_path, notice: "User deleted." 
    else 
    redirect_to users_index_path, flash: { error: "User could not be deleted." } 
    end 
end 
関連する問題