2013-12-18 4 views
3

Я пытаюсь обновить приложение для рельсов от rails 4.0.2 до 4.1 beta, я выполнил все инструкции, указанные на http://edgeguides.rubyonrails.org/4_1_release_notes.html#action-pack-removals. Всякий раз, когда я бегу мое приложение, это ошибка, я получаюrails 4.1 beta upgrade '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

Я, наконец, решил эту проблему, так как я не соблюдал правила rails в application.rb, мне пришлось углубиться, чтобы найти, где проблема. Похоже, проблема вызвана

require "action_controller/railtie" 

И отображается ошибка, метод действия не найден. Так что я просто заменить эту строку с

require "action_view/railtie" 

Я получил эту информацию от https://github.com/rails/rails/pull/7356

, кажется, что ActionView отсоединяется от actionpack, поэтому мне нужно, чтобы добавить его самостоятельно.

+0

Это сработало для меня. Благодаря! – Jurgen