Я полностью потерялся на этом. Я использую ruby 2.2.4 и обновляю приложение с рельсов 4.1.0 до 4.2. Приложение работает нормально. Я изменил свое Gemfile использовать:Rails 4.2 Time_zone_conversion.rb Ошибка. Как это исправить?
gem 'rails', '~>4.2'
Тогда пробежала спецификации тестов и приложение взрывали с этой ошибкой:
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
Я сделал это на этом и нашел одно сообщение. Он был здесь, в StackOverflow: NoMethodError: Undefined method 'type' for nil:NilClass in Rails, что привело меня к: https://gist.github.com/alsemyonov/88826/revisions
Я испробовал исправление, размещенное в приложении github, но я все равно получаю ту же ошибку.
Упоминание «time_zone_conversion.rb» в ошибке и что-то, что я прочитал, заставило меня подумать, что это было: связанное с датой. У меня есть один метод в нескольких моделях, которые работают в поле даты «updated_at». Не уверен, связано это или нет.
def updated_at_formatted
self.updated_at.strftime("%m/%d/%Y")
end
Я также использую драгоценный камень 'american_date'.
Любые идеи о том, что вызывает это и как его исправить, были бы весьма признательны.
Спасибо,