35

This project was built with rails 3.0.9.

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'

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'

What to do ?

juliomalegria
  • 24,229
  • 14
  • 73
  • 89
cola
  • 12,198
  • 36
  • 105
  • 165

3 Answers3

124

If you'd like to use jQuery instead of RJS for an existing application, delete or comment the following line from config/environments/development.rb

# config.action_view.debug_rjs = true
Gautam
  • 2,079
  • 4
  • 17
  • 17
21

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

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

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

gem 'prototype-rails'

in your Gemfile

Rob Di Marco
  • 43,054
  • 9
  • 66
  • 56
  • gem install prototype-rails, i got error => Fetching: prototype-rails-3.1.0.gem (100%) Successfully installed prototype-rails-3.1.0 1 gem installed Installing ri documentation for prototype-rails-3.1.0... ERROR: While executing gem ... (ArgumentError) marshal data too short – cola Oct 10 '11 at 22:10
  • 1
    This will "fix" it (error disappers) but probably leaves technical debt. It's much better to use Gautam's answer imho as the right approach. – Michael Durrant Sep 01 '12 at 10:34
  • 3
    Removing or commenting `config.action_view.debug_rjs = true` in development.rb fixes it. – Abhaya Jul 31 '13 at 04:34
1

You may want to add them to your 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

Koteg
  • 497
  • 7
  • 16