本文介绍了错误 NoMethodError:ActionView::Base:Class 的未定义方法 `debug_rjs='的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个项目是用 rails 3.0.9 构建的.

This project was built with rails 3.0.9.

现在我更新了 gems 和 Gemfile =>

Now i updated the gems and Gemfile =>

source 'http://rubygems.org'

gem 'rails', '3.1.1'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'pg'
gem 'devise'
gem "will_paginate"
gem 'ruby-debug19'
gem 'rack', '1.3.3'
gem 'jquery-rails'

在 rails 之后,当我这样做时,http://0.0.0.0:3000/ 我明白了错误 =>

After rails s, when i do , http://0.0.0.0:3000/ i get this error =>

=> Booting WEBrick
=> Rails 3.1.1 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-10-10 17:50:23] INFO  WEBrick 1.3.1
[2011-10-10 17:50:23] INFO  ruby 1.9.2 (2011-02-18) [i686-linux]
[2011-10-10 17:50:23] INFO  WEBrick::HTTPServer#start: pid=3103 port=3000
[2011-10-10 17:50:31] ERROR NoMethodError: undefined method `debug_rjs=' for ActionView::Base:Class
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/action_view/railtie.rb:34:in `block (3 levels) in <class:Railtie>'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/action_view/railtie.rb:33:in `each'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/action_view/railtie.rb:33:in `block (2 levels) in <class:Railtie>'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.1.1/lib/active_support/lazy_load_hooks.rb:36:in `instance_eval'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.1.1/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.1.1/lib/active_support/lazy_load_hooks.rb:43:in `block in run_load_hooks'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.1.1/lib/active_support/lazy_load_hooks.rb:42:in `each'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.1.1/lib/active_support/lazy_load_hooks.rb:42:in `run_load_hooks'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/action_view/base.rb:216:in `<class:Base>'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/action_view/base.rb:133:in `<module:ActionView>'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/action_view/base.rb:8:in `<top (required)>'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/abstract_controller/view_paths.rb:90:in `view_paths='
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/abstract_controller/view_paths.rb:76:in `prepend_view_path'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.1.1/lib/rails/engine.rb:532:in `block (2 levels) in <class:Engine>'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.1.1/lib/active_support/lazy_load_hooks.rb:36:in `instance_eval'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.1.1/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.1.1/lib/active_support/lazy_load_hooks.rb:43:in `block in run_load_hooks'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.1.1/lib/active_support/lazy_load_hooks.rb:42:in `each'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.1.1/lib/active_support/lazy_load_hooks.rb:42:in `run_load_hooks'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/action_controller/base.rb:234:in `<class:Base>'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/action_controller/base.rb:171:in `<module:ActionController>'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/action_controller/base.rb:3:in `<top (required)>'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/action_dispatch/middleware/static.rb:31:in `ext'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/action_dispatch/middleware/static.rb:15:in `match?'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.1/lib/action_dispatch/middleware/static.rb:47:in `call'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.1.1/lib/rails/engine.rb:456:in `call'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.1.1/lib/rails/rack/content_length.rb:16:in `call'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.1.1/lib/rails/rack/log_tailer.rb:14:in `call'
    /home/user1/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.3.3/lib/rack/handler/webrick.rb:59:in `service'
    /home/user1/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
    /home/user1/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
    /home/user1/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'

怎么办?

推荐答案

RJS 已从 Rails 3.1 中抽象出来,而 JQuery 是新的默认设置.

RJS has been abstracted out of Rails 3.1 and JQuery is the new default.

http://weblog.rubyonrails.org/2011/4/21/jquery-new-默认

如果你想使用 RJS,你需要包含

If you would like to use RJS, you need to include

gem 'prototype-rails'

在你的 Gemfile 中

in your Gemfile

这篇关于错误 NoMethodError:ActionView::Base:Class 的未定义方法 `debug_rjs='的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 02:57