2016-09-22 21 views
0

私は完全にこの1つを失っています。私はRuby 2.2.4を使用していて、アプリを4.1.0から4.2.0にアップグレードしています。アプリは正常に動作していました。私は使用する私のGemfileを変更:Rails 4.2 Time_zone_conversion.rbエラー。これをどうやって解決するのですか?

​​

その後、私のスペックのテストを実行し、アプリがこのエラーを爆破:私はエラーを取得し、ブラウザでアプリをロードしようとすると

usr/local/rvm/rubies/ruby-2.2.4/bin/ruby -I/path-to-my-app/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.5.0/lib:/path-to-my-app/vendor/bundle/ruby/2.2.0/gems/rspec-support-3.5.0/lib /path-to-my-app/vendor/bundle/ruby/2.2.0/gems/rspec-core-3.5.0/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb 

Coverage report generated for RSpec to /path-to-my-app/coverage. 22/1206 LOC (1.82%) covered. 

/path-to-my-app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.7.1/lib/active_record/attribute_methods/time_zone_conversion.rb:64:in `create_time_zone_conversion_attribute?': undefined method `type' for "NUMBER(38)":String (NoMethodError) 
from /path-to-my-app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.7.1/lib/active_record/attribute_methods/time_zone_conversion.rb:53:in `block (2 levels) in inherited' 

undefined method 'type' for "NUMBER(38)":String 

私はこの上にGoogleが1つの投稿を見つけました。 StackOverflow:NoMethodError: Undefined method 'type' for nil:NilClass in Railsで私を導いてくれました。https://gist.github.com/alsemyonov/88826/revisions

githubアプリに投稿された修正を試しましたが、同じエラーが表示されました。

「time_zone_conversion.rb」というエラーがあり、私が読んだことに言及すると、これはdatetimeに関連していると思いました。私は日付フィールド "updated_at"で動作する2つのモデルの1つのメソッドを持っています。これが関連しているかどうかは不明です。

def updated_at_formatted 
    self.updated_at.strftime("%m/%d/%Y") 
end 

私は宝石「アメリカンデート」も使用しています。

これを引き起こしている原因や解決方法については、何か考えてください。

おかげで、

答えて

0

それを見つけた: のOracle拡張アダプターのバージョン1.6がちょうどRailsの4.2サポートとRailsにレールの4.1以下のバージョンをサポートしていません。 Gemfileに次いでレールバージョン4.2上のルビーを使用して同僚と私はエラーのスタックトレースを介して段付き

gem 'activerecord-oracle_enhanced-adapter', '~> 1.6.0' 

を含みます。彼は次のような行を感じました:

undefined method 'type' for "NUMBER(38)":String 

どうかこのアプリケーションのためのOracleのデータベースの問題に縛られていた。 Rails 4.2のアップグレードに関する問題と上記のoracle gemでGoogleを検索すると、上記の答えが得られました。

関連する問題