Почему приложение rails иногда работает, а иногда нет? - PullRequest
0 голосов
/ 28 октября 2018

Дело в том, что я работаю на рельсах, а мое приложение работает на Heroku, вчера я добавил гем carrierwave для загрузки изображений в приложение, но с тех пор мое приложение работает только на некоторых устройствах.Он работает в моем ПК и iphone 5 также в моем ipad, но в iphone X это не так.Я читал, что у некоторых людей были проблемы с image_tag, поэтому, чтобы убедиться, что я удалил его, я подумал, что это форма gem devise, чтобы зарегистрироваться, поэтому я удалил поля, которые не входят в форму devise,По-прежнему возникает проблема, в некоторых устройствах мое приложение работает в других, это не так, и это сообщение появляется, когда я регистрируюсь с Iphone X https://i.stack.imgur.com/Nqb1f.png Вот что я получаю в журналах:

2018-10-29T01:07:27.330739+00:00 heroku[router]: at=info method=POST path="/users" host=quiet-ravine-45803.herokuapp.com request_id=53986df2-c97d-4f5a-af54-9270808a67dd fwd="190.160.77.84" dyno=web.1 connect=0ms service=233ms status=500 bytes=1827 protocol=https

2018-10-29T01:07:27.154283+00:00 app[web.1]: I, [2018-10-29T01:07:27.154171 #4]  INFO -- : [53986df2-c97d-4f5a-af54-9270808a67dd] Started POST "/users" for 190.160.77.84 at 2018-10-29 01:07:27 +0000

2018-10-29T01:07:27.156381+00:00 app[web.1]: I, [2018-10-29T01:07:27.156283 #4]  INFO -- : [53986df2-c97d-4f5a-af54-9270808a67dd] Processing by Users::RegistrationsController#create as HTML

2018-10-29T01:07:27.156566+00:00 app[web.1]: I, [2018-10-29T01:07:27.156475 #4]  INFO -- : [53986df2-c97d-4f5a-af54-9270808a67dd]   Parameters: {"utf8"=>"✓", "authenticity_token"=>"qsIs0JKQUb6Yri0d59zBYEIWFysjr9USNofGrEvNdUhTt87gM6AuOWGIK1x1y+LAMphGZ1n6hfuzVPFHOw+a8A==", "user"=>{"name"=>"caewer", "email"=>"pefs@gmail.com", "rut"=>"13", "address"=>"qweqwd", "phone"=>"56996349898", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"}

2018-10-29T01:07:27.320359+00:00 app[web.1]: D, [2018-10-29T01:07:27.320219 #4] DEBUG -- : [53986df2-c97d-4f5a-af54-9270808a67dd]   [1m[35m (0.7ms)[0m  [1m[35mBEGIN[0m

2018-10-29T01:07:27.322894+00:00 app[web.1]: D, [2018-10-29T01:07:27.322714 #4] DEBUG -- : [53986df2-c97d-4f5a-af54-9270808a67dd]   [1m[36mUser Exists (0.9ms)[0m  [1m[34mSELECT  1 AS one FROM "users" WHERE "users"."email" = $1 LIMIT $2[0m  [["email", "pefs@gmail.com"], ["LIMIT", 1]]

2018-10-29T01:07:27.325619+00:00 app[web.1]: D, [2018-10-29T01:07:27.325541 #4] DEBUG -- : [53986df2-c97d-4f5a-af54-9270808a67dd]   [1m[35m (0.9ms)[0m  [1m[31mROLLBACK[0m

2018-10-29T01:07:27.326271+00:00 app[web.1]: I, [2018-10-29T01:07:27.326160 #4]  INFO -- : [53986df2-c97d-4f5a-af54-9270808a67dd] Completed 500 Internal Server Error in 169ms (ActiveRecord: 2.5ms)

2018-10-29T01:07:27.329176+00:00 app[web.1]: F, [2018-10-29T01:07:27.329086 #4] FATAL -- : [53986df2-c97d-4f5a-af54-9270808a67dd]   

2018-10-29T01:07:27.329299+00:00 app[web.1]: F, [2018-10-29T01:07:27.329218 #4] FATAL -- : [53986df2-c97d-4f5a-af54-9270808a67dd] ActiveModel::RangeError (56996349898 is out of range for ActiveModel::Type::Integer with limit 4 bytes):

2018-10-29T01:07:27.329422+00:00 app[web.1]: F, [2018-10-29T01:07:27.329322 #4] FATAL -- : [53986df2-c97d-4f5a-af54-9270808a67dd]   

2018-10-29T01:07:27.329641+00:00 app[web.1]: F, [2018-10-29T01:07:27.329496 #4] FATAL -- : [53986df2-c97d-4f5a-af54-9270808a67dd] vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.1/lib/active_model/type/integer.rb:53:in `ensure_in_range'

2018-10-29T01:07:27.329644+00:00 app[web.1]: [53986df2-c97d-4f5a-af54-9270808a67dd] vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.1/lib/active_model/type/integer.rb:29:in `serialize'

2018-10-29T01:07:27.329646+00:00 app[web.1]: [53986df2-c97d-4f5a-af54-9270808a67dd] vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.1/lib/active_model/attribute.rb:55:in `value_for_database'

2018-10-29T01:07:27.329650+00:00 app[web.1]: [53986df2-c97d-4f5a-af54-9270808a67dd] vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/relation/query_attribute.rb:13:in `value_for_database'

2018-10-29T01:07:27.329652+00:00 app[web.1]: [53986df2-c97d-4f5a-af54-9270808a67dd] vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/quoting.rb:145:in `block in type_casted_binds'

2018-10-29T01:07:27.329654+00:00 app[web.1]: [53986df2-c97d-4f5a-af54-9270808a67dd] vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/quoting.rb:145:in `map'

1 Ответ

0 голосов
/ 29 октября 2018

Просмотр журнала ошибок:

2018-10-29T01:07:27.329299+00:00 app[web.1]: F, [2018-10-29T01:07:27.329218 #4] FATAL -- : [53986df2-c97d-4f5a-af54-9270808a67dd] ActiveModel::RangeError (56996349898 is out of range for ActiveModel::Type::Integer with limit 4 bytes):

2018-10-29T01:07:27.156566+00:00 app[web.1]: I, [2018-10-29T01:07:27.156475 #4]  INFO -- : [53986df2-c97d-4f5a-af54-9270808a67dd]   Parameters: {"utf8"=>"✓", "authenticity_token"=>"qsIs0JKQUb6Yri0d59zBYEIWFysjr9USNofGrEvNdUhTt87gM6AuOWGIK1x1y+LAMphGZ1n6hfuzVPFHOw+a8A==", "user"=>{"name"=>"caewer", "email"=>"pefs@gmail.com", "rut"=>"13", "address"=>"qweqwd", "phone"=>"56996349898", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"}

Эти две строки сообщают вам, что число 56996349898 больше диапазона целочисленного размера.Напишите миграцию, чтобы изменить тип данных столбца :phone на string или bigint (из целого числа).Более подробно об этом, поскольку объем памяти целого числа составляет 4 байта (32 бита), самое большое целое число может быть 2 147 483 647.Технически, в вашем поле номера телефона содержится число, которое примерно на 54 миллиона значений больше, чем может содержать ваш целочисленный тип, поэтому вам нужно его увеличить.В некоторых случаях может быть даже лучше представить ваши телефонные номера в виде текста / строки, если вы хотите выполнить некоторые операции со строками или форматирование, например добавление дефисов или скобок.

...