ruby - 缓存钱 ActiveRecord::MissingAttributeError

标签 ruby passenger phusion cache-money

我一直在我的程序中随机出现 ActiveRecord::MissingAttributeError 错误。我有乘客(30 个实例)使用 nginx 运行。我在开发中没有这个问题。当我删除缓存资金时,它在生产中运行良好。

这是错误信息:

ActiveRecord::MissingAttributeError (missing attribute: deposit_amount):
  lib/econveyance_pro/accounting/bsoa.rb:96:in `collect_deposit'
  lib/econveyance_pro/accounting/bsoa.rb:24:in `calculate'
  app/controllers/accounting_controller.rb:213:in `calculate_buyer_file_accounting'
  app/controllers/accounting_controller.rb:175:in `generate_accounting'
  app/controllers/accounting_controller.rb:153:in `generate_accounting_and_save'
  lib/econveyance_pro/document_manager.rb:18:in `temporary_tables_xml'
  lib/econveyance_pro/document_manager.rb:17:in `each'
  lib/econveyance_pro/document_manager.rb:17:in `temporary_tables_xml'
  app/controllers/document_manager_controller.rb:40:in `xml'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/rack/request_handler.rb:92:in `process_request'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/railz/application_spawner.rb:385:in `start_request_handler'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/railz/application_spawner.rb:343:in `handle_spawn_application'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/utils.rb:184:in `safe_fork'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/railz/application_spawner.rb:341:in `handle_spawn_application'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/abstract_server.rb:352:in `__send__'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/abstract_server.rb:163:in `start'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/railz/application_spawner.rb:209:in `start'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/spawn_manager.rb:262:in `spawn_rails_application'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/spawn_manager.rb:256:in `spawn_rails_application'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/abstract_server_collection.rb:80:in `synchronize'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/spawn_manager.rb:255:in `spawn_rails_application'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/spawn_manager.rb:154:in `spawn_application'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/spawn_manager.rb:287:in `handle_spawn_application'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/abstract_server.rb:352:in `__send__'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
  /opt/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.8/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'

deposit_amount 确实存在于我的数据库中。

最佳答案

您是否更改了数据库表架构? memcached 对象可能正在使用旧架构,需要清除。

使用 $cache.flush_all 刷新 memcached,通过“telnet localhost 11211”或通过重新启动 memcached 将“flush_all”发送到 memcached。

关于ruby - 缓存钱 ActiveRecord::MissingAttributeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1982468/

相关文章:

ruby - 默认加载哪些 ruby​​ 模块?

ruby-on-rails - 失踪的 rails gem

ruby - 乘客:无法加载此类文件 ruby​​gems/builder

passenger - Authlogic 不适用于我的 Rails 3.2 应用程序

ruby-on-rails - 在 Ubuntu 11.04 上设置 Passenger Phusion

ruby-on-rails - 使用 Phusion 乘客和 Rails 时初始服务器启动缓慢

ruby-on-rails - 如果在 Controller 外部声明了方法,为什么这个 Rails 代码可以工作?

ruby - 如何自定义 will_paginate 链接库?

ruby-on-rails - 关联模型的 Rails ActiveRecord 条件验证?

ruby-on-rails - mod_rails 或 Phusion Passenger 最终是 Ruby on Rails 部署的答案吗?