错误NoMethodError:ActionView :: Base的未定义方法`debug_rjs =':Class

时间:2011-10-10 20:53:27

标签: ruby-on-rails ruby ruby-on-rails-3.1

此项目是使用rails 3.0.9构建的。

现在我更新了宝石和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/我收到此错误=>

=> 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'

怎么办?

3 个答案:

答案 0 :(得分:124)

如果您想在现有应用程序中使用jQuery而不是RJS,请删除或评论config/environments/development.rb

中的以下行
# config.action_view.debug_rjs = true

答案 1 :(得分:21)

RJS已经从Rails 3.1中抽象出来,而JQuery是新的默认值。

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

如果您想使用RJS,则需要包含

gem 'prototype-rails'
你的Gemfile中的

答案 2 :(得分:1)

您可能希望将它们添加到您的app / assets / javascripts / application.js:

//= require prototype
//= require prototype_ujs
//= require effects
//= require dragdrop
//= require controls

https://github.com/rails/prototype-rails/blob/master/README#L15-19