samedi 24 janvier 2015

Adding a column to model results in RangeError [Refactoring]

I'm currently working on a assignment for ruby on rails course I'm doing. I have to refactor a blog app written in Rails and add the functionality to merge articles.




  • What I did was to add a new text field in the form that is displayed when you edit the article (<%= text_field 'article', 'merge' %>). After I do that, it complains that there is no merge method in article model so I went ahead and implemented that.




  • I run the following migration:


    class AddMergeWithToContents < ActiveRecord::Migration def self.up add_column :contents, :merge_with, :integer end


    def self.down remove_column :contents, :merge_with end end




  • Then, when when accessing again the app it gives me the following error:


    RangeError in Admin::SettingsController#update_database


    bignum too big to convert into `long'


    Rails.root: /home/saasbook/typo Application Trace | Framework Trace | Full Trace


    app/controllers/admin/settings_controller.rb:38:in []' app/controllers/admin/settings_controller.rb:38:inupdate_database'




  • Full Trace




app/controllers/admin/settings_controller.rb:38:in []' app/controllers/admin/settings_controller.rb:38:inupdate_database' actionpack (3.0.17) lib/action_controller/metal/implicit_render.rb:4:in send_action' actionpack (3.0.17) lib/abstract_controller/base.rb:150:inprocess_action' actionpack (3.0.17) lib/action_controller/metal/rendering.rb:11:in process_action' actionpack (3.0.17) lib/abstract_controller/callbacks.rb:18:inblock in process_action' activesupport (3.0.17) lib/active_support/callbacks.rb:457:in block in _run__331447277__process_action__533401003__callbacks' activesupport (3.0.17) lib/active_support/callbacks.rb:221:inblock in _conditional_callback_around_20300' activesupport (3.0.17) lib/active_support/callbacks.rb:331:in around' activesupport (3.0.17) lib/active_support/callbacks.rb:315:in_callback_around_20297' activesupport (3.0.17) lib/active_support/callbacks.rb:220:in _conditional_callback_around_20300' activesupport (3.0.17) lib/active_support/callbacks.rb:456:in_run__331447277__process_action__533401003__callbacks' activesupport (3.0.17) lib/active_support/callbacks.rb:410:in _run_process_action_callbacks' activesupport (3.0.17) lib/active_support/callbacks.rb:94:inrun_callbacks' actionpack (3.0.17) lib/abstract_controller/callbacks.rb:17:in process_action' actionpack (3.0.17) lib/action_controller/metal/rescue.rb:17:inprocess_action' actionpack (3.0.17) lib/action_controller/metal/instrumentation.rb:30:in block in process_action' activesupport (3.0.17) lib/active_support/notifications.rb:52:inblock in instrument' activesupport (3.0.17) lib/active_support/notifications/instrumenter.rb:21:in instrument' activesupport (3.0.17) lib/active_support/notifications.rb:52:ininstrument' actionpack (3.0.17) lib/action_controller/metal/instrumentation.rb:29:in process_action' actionpack (3.0.17) lib/abstract_controller/base.rb:119:inprocess' actionpack (3.0.17) lib/abstract_controller/rendering.rb:41:in process' actionpack (3.0.17) lib/action_controller/metal.rb:138:indispatch' actionpack (3.0.17) lib/action_controller/metal/rack_delegation.rb:14:in dispatch' actionpack (3.0.17) lib/action_controller/metal.rb:178:inblock in action' actionpack (3.0.17) lib/action_dispatch/routing/route_set.rb:68:in call' actionpack (3.0.17) lib/action_dispatch/routing/route_set.rb:68:indispatch' actionpack (3.0.17) lib/action_dispatch/routing/route_set.rb:33:in call' rack-mount (0.6.14) lib/rack/mount/route_set.rb:148:inblock in call' rack-mount (0.6.14) lib/rack/mount/code_generation.rb:93:in block in recognize' rack-mount (0.6.14) lib/rack/mount/code_generation.rb:75:inoptimized_each' rack-mount (0.6.14) lib/rack/mount/code_generation.rb:92:in recognize' rack-mount (0.6.14) lib/rack/mount/route_set.rb:139:incall' actionpack (3.0.17) lib/action_dispatch/routing/route_set.rb:499:in call' actionpack (3.0.17) lib/action_dispatch/middleware/best_standards_support.rb:17:incall' actionpack (3.0.17) lib/action_dispatch/middleware/head.rb:14:in call' rack (1.2.5) lib/rack/methodoverride.rb:24:incall' actionpack (3.0.17) lib/action_dispatch/middleware/params_parser.rb:21:in call' actionpack (3.0.17) lib/action_dispatch/middleware/flash.rb:182:incall' actionpack (3.0.17) lib/action_dispatch/middleware/session/abstract_store.rb:149:in call' actionpack (3.0.17) lib/action_dispatch/middleware/cookies.rb:302:incall' activerecord (3.0.17) lib/active_record/query_cache.rb:32:in block in call' activerecord (3.0.17) lib/active_record/connection_adapters/abstract/query_cache.rb:28:incache' activerecord (3.0.17) lib/active_record/query_cache.rb:12:in cache' activerecord (3.0.17) lib/active_record/query_cache.rb:31:incall' activerecord (3.0.17) lib/active_record/connection_adapters/abstract/connection_pool.rb:354:in call' actionpack (3.0.17) lib/action_dispatch/middleware/callbacks.rb:46:inblock in call' activesupport (3.0.17) lib/active_support/callbacks.rb:416:in _run_call_callbacks' actionpack (3.0.17) lib/action_dispatch/middleware/callbacks.rb:44:incall' rack (1.2.5) lib/rack/sendfile.rb:106:in call' actionpack (3.0.17) lib/action_dispatch/middleware/remote_ip.rb:48:incall' actionpack (3.0.17) lib/action_dispatch/middleware/show_exceptions.rb:47:in call' railties (3.0.17) lib/rails/rack/logger.rb:13:incall' rack (1.2.5) lib/rack/runtime.rb:17:in call' activesupport (3.0.17) lib/active_support/cache/strategy/local_cache.rb:72:incall' rack (1.2.5) lib/rack/lock.rb:13:in block in call' <internal:prelude>:10:insynchronize' rack (1.2.5) lib/rack/lock.rb:13:in call' actionpack (3.0.17) lib/action_dispatch/middleware/static.rb:30:incall' railties (3.0.17) lib/rails/application.rb:168:in call' railties (3.0.17) lib/rails/application.rb:77:inmethod_missing' railties (3.0.17) lib/rails/rack/log_tailer.rb:14:in call' rack (1.2.5) lib/rack/content_length.rb:13:incall' rack (1.2.5) lib/rack/handler/webrick.rb:52:in service' /home/saasbook/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:138:inservice' /home/saasbook/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:94:in run' /home/saasbook/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/server.rb:191:inblock in start_thread'


Any help would be really appreciated. Thanks.


Aucun commentaire:

Enregistrer un commentaire