2016-06-15 12 views
0

In meinem Rubin 2.3.1, bekomme ich diesen Fehler:nicht definierte Methode `rescue_responses' für ActionDispatch :: ShowExceptions: Klasse (NoMethodError)

=> Booting WEBrick 
=> Rails 4.2.6 application starting in development on http://localhost:3000 
=> Run `rails server -h` for more startup options 
=> Ctrl-C to shutdown server 
Exiting 
/root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/will_paginate-3.0.pre2/lib/will_paginate/railtie.rb:15:in `block in <class:Railtie>': uninitialized constant WillPaginate::Railtie::Forbidden (NameError) 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/initializable.rb:30:in `instance_exec' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/initializable.rb:30:in `run' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/initializable.rb:55:in `block in run_initializers' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:228:in `block in tsort_each' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:431:in `each_strongly_connected_component_from' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:349:in `block in each_strongly_connected_component' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:347:in `each' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:347:in `call' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:347:in `each_strongly_connected_component' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:226:in `tsort_each' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/2.3.0/tsort.rb:205:in `tsort_each' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/initializable.rb:54:in `run_initializers' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/application.rb:352:in `initialize!' 
     from /home/bistipweb/config/environment.rb:5:in `<top (required)>' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/polyglot-0.3.1/lib/polyglot.rb:64:in `require' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/polyglot-0.3.1/lib/polyglot.rb:64:in `require' 
     from /home/bistipweb/config.ru:3:in `block in <main>' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-1.6.0/lib/rack/builder.rb:55:in `instance_eval' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-1.6.0/lib/rack/builder.rb:55:in `initialize' 
     from /home/bistipweb/config.ru:in `new' 
     from /home/bistipweb/config.ru:in `<main>' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-1.6.0/lib/rack/builder.rb:49:in `eval' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-1.6.0/lib/rack/builder.rb:49:in `new_from_string' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-1.6.0/lib/rack/builder.rb:40:in `parse_file' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-1.6.0/lib/rack/server.rb:299:in `build_app_and_options_from_config' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-1.6.0/lib/rack/server.rb:208:in `app' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/commands/server.rb:61:in `app' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rack-1.6.0/lib/rack/server.rb:336:in `wrapped_app' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/commands/server.rb:139:in `log_to_stdout' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/commands/server.rb:78:in `start' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:80:in `block in server' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:75:in `tap' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:75:in `server' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!' 
     from /root/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>' 
     from bin/rails:4:in `require' 
     from bin/rails:4:in `<main>' 

Mein railtie.rb ist:

require 'will_paginate' 
require 'will_paginate/collection' 

module WillPaginate 
     class Railtie < Rails::Railtie 
       initializer "will_paginate.active_record" do |app| 
         if defined? ::ActiveRecord 
           require 'will_paginate/finders/active_record' 
           WillPaginate::Finders::ActiveRecord.enable! 
         end 
       end 

       initializer "will_paginate.action_dispatch" do |app| 
         if defined?(ActionController::Base) 
           config.action_dispatch.rescue_responses.update('ActionController::Forbidden'=>Forbidden) 
         end 
       end 

       initializer "will_paginate.action_view" do |app| 
         require 'will_paginate/view_helpers/action_view' 
         ActionView::Base.send(:include, WillPaginate::ViewHelpers::ActionView) 
       end 
     end 
end 

Wie kann Ich befestige es?

+0

"ActionDispatch :: ShowExeptions" sollte "ActionDispatch :: ShowExceptions" lauten (Sie vermissen ein 'c') –

+0

Bitte überprüfen Sie meine bearbeitete Frage –

+0

Diese API ist seit Rails 3.x veraltet: http: // grokbase .com/t/gg/activescaffold/132j43c9gq/actiondispatch-showexceptions-rails-upgrade-2-3-x-zu-3-2-x –

Antwort

0

Versuchen:

initializer "will_paginate.action_dispatch" do |app| 
    if defined?(ActionController::Base) 
    config.action_dispatch.rescue_responses.update('ActionController::Forbidden'=>Forbidden) 
    end 
end 
+0

Versuchte .... habe Fehler wie diese, die gleich ist: 'nicht initialisierte Konstante WillPaginate :: Railtie :: Forbidden (NameError) ' –

+0

Ich bin nicht vertraut mit der Funktion, aber es scheint, dass Sie eine sehr alte Dokumentation zu lesen implementieren, schlage ich vor, Sie lesen, wie dies in einer neueren Dokumentation zu tun ... –

+0

Können Sie mir einen Link zu den neuesten Dokumentationen zur Verfügung stellen? –

1

Sie haben nicht zum Einhaken will_paginate in Rails-Projekt alle initializer Codes hinzuzufügen, wenn Sie den letzten will_paginate Versionen verwenden.

Ich sehe Sie verwenden 3.0.pre2 Version, aktualisieren sie 3.0.7 in Ihrem Gemfile, bundle update will_paginate und entfernen Sie alle Codes, die Sie in railtie.rb hinzugefügt, ich denke, alles in Ordnung wäre.

+0

Das hört sich vernünftiger an, kannst du mir die originale Datei 'railtie.rb' geben? Ich habe kein Backup gemacht, bevor ich 'railtie.rb' modifiziert habe. Mein schlechtes :( –

+0

Entfernen Sie einfach Codes für Modul WillPaginate in Ihrem railtie.rb. Ich denke, nach dem Entfernen dieser Datei wäre leer, wenn Sie keine anderen hinzugefügten Codes haben. Wenn ja, entfernen Sie einfach die Datei. –

+0

, so dass Sie mich wollen Um den ganzen Code in 'railtie.rb' zu löschen? –

-2

Ich finde keinen Grund für Sie, railtie.rb Datei hinzuzufügen. Ich glaube, nur das Hinzufügen des Edelsteins und die Verwendung in Ihrer Sicht sollte funktionieren.

+0

yeah ... aber Version von' will_paginate' ist auch wichtig. Ich bin Verwenden von Rails 4.2.6 und müssen eine passende Version von 'will_paginate' hinzufügen.So könnte die Aktualisierung von' 3.0.pre2' auf '3.0.7' wie von Larry Lv vorgeschlagen funktionieren –

+0

Ja, ich weiß ... Ich habe die Version nicht gesagt von Juwel spielt keine Rolle ... Ich sagte nur die RB-Datei ist nicht erforderlich ... – SnehaT

Verwandte Themen