首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails环境配置:“方法_缺失”:未定义方法`action_mailer‘

Rails环境配置:“方法_缺失”:未定义方法`action_mailer‘
EN

Stack Overflow用户
提问于 2016-05-10 16:04:40
回答 4查看 6.3K关注 0票数 8

试图调用Rails控制台(bundle exec rails c)或Rails服务器(bundle exec rails s)将引发以下异常:

代码语言:javascript
复制
~/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中的冒犯行

代码语言:javascript
复制
  # Save emails to files instead of delivering.
  config.action_mailer.delivery_method = :file

以下是我的Gemfile的内容:

代码语言:javascript
复制
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
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-05-10 16:53:36

解决办法是增加:

require 'action_mailer/railtie'

config/application.rb,因为该文件没有执行require 'rails/all

票数 13
EN

Stack Overflow用户

发布于 2017-05-31 15:08:24

我不能评论,所以我回答这里--我在Dockerfile中添加了下面的Docker容器中的这个错误,所以它对我是有效的,RUN BUNDLE_GEMFILE=Gemfile

票数 0
EN

Stack Overflow用户

发布于 2021-11-18 12:38:26

在将Rails 5.2迁移到Rails 6.1期间,我遇到了同样的问题。问题是我安装了不同版本的“铁路”创业板。

因此,为了解决这个问题,在我将gem 'rails'版本升级为6.1之后,也将gem 'railties'升级为6.1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37143708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档