我正在构建rails应用程序并使用rails 4.0.1。 我有一个错误,并注意到它被提到作为3个月前的rails上的错误所以我决定:捆绑更新并获得rails 4.0.3
在这样做之后,测试和服务器都不会启动并且它们会抛出错误:
gems / railties-4.0.3 / lib / rails / railtie / configuration.rb:95:在`method_missing'中:未定义的方法`action_mailer'用于#(NoMethodError)
目前我在config / environments / *中注释掉了action_mailer行,但最好找到一个真正的解决方案。 在Google上搜索没有提供有关此特定错误的任何内容。
如果我能提供更多细节,请告诉我。 非常感谢你。
更新:这是我的Gemfile
source 'https://rubygems.org'
ruby '2.0.0'
gem 'bootstrap-sass'
gem 'bootstrap_form'
gem 'coffee-rails'
gem 'rails'
gem 'haml-rails'
gem 'sass-rails'
gem 'uglifier'
gem 'jquery-rails'
gem 'bcrypt-ruby', '~> 3.1.2'
group :development do
gem 'sqlite3'
gem 'thin'
# gem "better_errors"
gem "binding_of_caller"
end
group :production do
gem 'pg'
gem 'rails_12factor'
end
group :development, :test do
gem 'rspec-rails'
gem 'pry'
gem 'pry-nav'
end
group :test do
gem "faker"
gem "capybara"
gem "database_cleaner"
gem "launchy"
gem 'shoulda-matchers'
gem "selenium-webdriver"
gem "fivemat"
gem 'fabrication'
end
答案 0 :(得分:3)
找到解决方案,万一有人来到这里:
主要问题是在我的Gemfile中,因为你看不到设置了特定的gem版本(除了bcrypt) 不知何故,这使得bundle在我尚不清楚的情况下安装过时的版本。
修复步骤:
'rails', '~> 4.0.3'
bundle install
你被设定:)
答案 1 :(得分:0)
设置devkit后,我必须卸载所有rails gems(actionmailer,activerecord,actioncable ......),然后再次安装rails。
然后它奏效了。