尝试调用 Rails 控制台 (bundle exec rails c
) 或 Rails 服务器 (bundle exec rails s
) 会抛出以下异常:
~/project/.bundle/gems/railties-4.2.6/lib/rails/railtie/configuration.rb:95:in `method_missing': undefined method `action_mailer' for #<Rails::Application::Configuration:0x007fdbe46e7400> (NoMethodError)
from ~/project/config/environments/development.rb:43:in `block in <top (required)>'
from ~/project/.bundle/gems/railties-4.2.6/lib/rails/railtie.rb:210:in `instance_eval'
from ~/project/.bundle/gems/railties-4.2.6/lib/rails/railtie.rb:210:in `configure'
from ~/project/config/environments/development.rb:1:in `<top (required)>'
from ~/project/.bundle/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
...
我是否遗漏了什么,或者还有其他宝石可能导致不兼容问题?
这是位于config/environments/development.rb
中的错误行:
# Save emails to files instead of delivering.
config.action_mailer.delivery_method = :file
以下是我的Gemfile文件的内容:
source 'https://rubygems.org'
gem 'rails', '4.2.6'
gem 'activemodel'
gem 'actionmailer'
gem 'sass-rails', '~> 5.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'rollbar'
gem 'meta-tags'
gem 'faraday'
gem 'oj'
gem 'dalli-elasticache'
gem 'config'
# Frontend
gem 'jquery-rails'
gem 'jquery-turbolinks'
gem 'bourbon'
gem 'turbolinks'
gem 'therubyracer'
# Deploy
gem 'capistrano'
gem 'capistrano-rbenv'
gem 'capistrano-bundler'
gem 'capistrano-rails'
gem 'capistrano-passenger'
gem 'capistrano-rails-console'
gem 'capistrano-rails-log'
group :development, :test do
gem 'spring'
gem 'spring-commands-rspec'
gem 'byebug'
end
group :test do
gem 'rspec-rails'
gem 'capybara'
gem 'launchy'
gem 'webmock'
gem 'capybara-webkit'
gem 'vcr'
end
group :development do
gem 'web-console', '~> 2.0'
gem 'quiet_assets'
end
bundle exec
的情况下工作吗? - treiffbin/rails c
产生完全相同的问题。 - Matthew