![](/img/trans.png)
[英]Trying to upgrade to rails 3.1 getting the error: method_missing': undefined method `action_mailer
[英]`method_missing': undefined method `action_mailer' for #<Rails::Application::Configuration:0x00>
我正在構建一個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
找到解決方案,萬一有人在這里登陸:
主要的問題是,在我的Gemfile中你可以看到沒有設置特定的gem版本(除了bcrypt)不知何故,這使得bundle在我尚不清楚的情況下安裝過時的版本。
修復步驟:
'rails', '~> 4.0.3'
bundle install
你被設定:)
在我的情況下,我已經安裝了寶石,因為devkit沒有正確安裝,寶石沒有編譯。
設置devkit后,我必須卸載所有rails gems(actionmailer,activerecord,actioncable ......),然后再次安裝rails。
然后它奏效了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.