2013-12-18 33 views
3

我試圖將我的rails應用程序從rails 4.0.2升級到4.1 beta,我遵循了http://edgeguides.rubyonrails.org/4_1_release_notes.html#action-pack-removals上給出的所有說明。 每當我跑我的應用程序,這是錯誤我得到rails 4.1測試版升級'action-view no method error'

 
/Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.1.0.beta1/lib/rails/railtie/configuration.rb:95:in `method_missing': undefined method `action_view' for # (NoMethodError) 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/jquery-rails-3.0.4/lib/jquery/rails/railtie.rb:7:in `block in ' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/activesupport-4.1.0.beta1/lib/active_support/lazy_load_hooks.rb:36:in `call' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/activesupport-4.1.0.beta1/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/activesupport-4.1.0.beta1/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/activesupport-4.1.0.beta1/lib/active_support/lazy_load_hooks.rb:44:in `each' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/activesupport-4.1.0.beta1/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.1.0.beta1/lib/rails/application.rb:121:in `initialize' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.1.0.beta1/lib/rails/railtie.rb:171:in `new' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.1.0.beta1/lib/rails/railtie.rb:171:in `instance' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.1.0.beta1/lib/rails/application.rb:90:in `inherited' 
    from /Users/surendra/Desktop/faces/config/application.rb:13:in `' 
    from /Users/surendra/Desktop/faces/config/application.rb:12:in `' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.1.0.beta1/lib/rails/commands/commands_tasks.rb:79:in `require' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.1.0.beta1/lib/rails/commands/commands_tasks.rb:79:in `block in server' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.1.0.beta1/lib/rails/commands/commands_tasks.rb:76:in `tap' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.1.0.beta1/lib/rails/commands/commands_tasks.rb:76:in `server' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.1.0.beta1/lib/rails/commands/commands_tasks.rb:40:in `run_command!' 
    from /Users/surendra/.rvm/gems/ruby-1.9.3-p448/gems/railties-4.1.0.beta1/lib/rails/commands.rb:17:in `' 
    from bin/rails:4:in `require' 
    from bin/rails:4:in `' 

我的application.rb中的文件是這樣的

require File.expand_path('../boot', __FILE__) 

require "action_controller/railtie" 
require "rails/test_unit/railtie" 
require "sprockets/railtie" 

Bundler.require(:default, Rails.env) 

module ElitmusFaces 
    class Application < Rails::Application 
    # Settings in config/environments/* take precedence over those specified here. 
    # Application configuration should go into files in config/initializers 
    # -- all .rb files in that directory are automatically loaded. 

    # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. 
    # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. 
    # config.time_zone = 'Central Time (US & Canada)' 

    # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. 
    # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] 
    # config.i18n.default_locale = :de 
    end 
end 

你能幫我這個錯誤,我想知道哪裏有錯誤發生了

回答

10

我終於解決了這個問題,因爲我沒有遵循application.rb中的rails約定,所以我不得不深入地找到問題所在。它看起來像問題是由

require "action_controller/railtie" 

而它顯示的錯誤是,找不到actionview方法。所以,我只是更換了符合

require "action_view/railtie" 

我得到這個信息從 https://github.com/rails/rails/pull/7356

似乎是的ActionView從ActionPack的分離,所以我需要將它添加自己。

+0

這對我有效。謝謝! – Jurgen

相關問題