2015-07-11 120 views
3

當我在新創建的rails項目上運行rails server時,我總是收到以下錯誤消息。我通過運行命令rails new toy_app來創建它。Ruby on Rails`method_missing':undefined method`active_record'

請指導我如何解決我的問題。我有另一個鐵軌項目,我可以運行rails server。在我的新項目中是不可能的。

錯誤消息

/Library/Ruby/Gems/2.0.0/gems/railties-4.2.2/lib/rails/railtie/configuration.rb:95:in 
`method_missing': undefined method `active_record' for 
#<Rails::Application::Configuration:0x007f9413116e40> (NoMethodError) from /Users/judobear/toy_app/config/application.rb:24:in 
`<class:Application>' from 
/Users/judobear/toy_app/config/application.rb:10:in `<module:ToyApp>' 
    from /Users/judobear/toy_app/config/application.rb:9:in `<top 
(required)>' from 
/Library/Ruby/Gems/2.0.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:78:in 
`require' from 
/Library/Ruby/Gems/2.0.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:78:in 
`block in server' from 
/Library/Ruby/Gems/2.0.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:75:in 
`tap' from 
/Library/Ruby/Gems/2.0.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:75:in 
`server' from 
/Library/Ruby/Gems/2.0.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:39:in 
`run_command!' from 
/Library/Ruby/Gems/2.0.0/gems/railties-4.2.2/lib/rails/commands.rb:17:in 
`<top (required)>' from /Users/judobear/toy_app/bin/rails:8:in 
`require' from /Users/judobear/toy_app/bin/rails:8:in `<top 
(required)>' from 
/Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in 
`load' from 
/Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in 
`call' from 
/Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/client/command.rb:7:in 
`call' from 
/Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/client.rb:26:in 
`run' from 
/Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/bin/spring:48:in `<top 
(required)>' from 
/Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/binstub.rb:11:in 
`load' from 
/Library/Ruby/Gems/2.0.0/gems/spring-1.1.3/lib/spring/binstub.rb:11:in 
`<top (required)>' from 
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 
`require' from 
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 
`require' from /Users/judobear/toy_app/bin/spring:13:in `<top 
(required)>' from bin/rails:3:in `load' from bin/rails:3:in `<main>' 

的Gemfile

source 'https://rubygems.org' 

gem 'rails',  '4.2.2' 
gem 'sass-rails', '5.0.2' 
gem 'uglifier',  '2.5.3' 
gem 'coffee-rails', '4.1.0' 
gem 'jquery-rails', '4.0.3' 
gem 'turbolinks', '2.3.0' 
gem 'jbuilder',  '2.2.3' 
gem 'sdoc',   '0.4.0', group: :doc 

group :development, :test do 
    gem 'sqlite3',  '1.3.9' 
    gem 'byebug',  '3.4.0' 
    gem 'web-console', '2.0.0.beta3' 
    gem 'spring',  '1.1.3' 
end 

group :production do 
    gem 'pg',    '0.17.1' 
    gem 'rails_12factor', '0.0.2' 
end 

application.rb中

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

require 'rails/all' 

# Require the gems listed in Gemfile, including any gems 
# you've limited to :test, :development, or :production. 
Bundler.require(*Rails.groups) 

module Toyapp 
    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 

    # Do not swallow errors in after_commit/after_rollback callbacks. 
    config.active_record.raise_in_transactional_callbacks = true 
    end 
end 
+0

您需要'Gemfile',並且需要運行'bundle install --without production'(第一次)。 –

+0

你可以請你發佈你的'config/application.rb'嗎? – spickermann

+0

我有一個寶石文件,我沒有運行捆綁安裝 - 沒有生產 –

回答

2

嘗試更改回在你的Gemfile的Rails 4.1.0 - 不理想,但我今天有完全相同的問題,這工作。

我猜這是Rails 4.2.x的一個bug(只是猜測)。

編輯:4.1.12的作品,以及(在4.1.x的最新版本)