3

我成功部署了,但是在我成功之后。我无法访问“状态”和“用户”的配置部分。我不确定我应该从哪里开始解决这些问题。

我在本地机器上使用 Spree 1.2、Ruby 1.9.3、Rails 3.2.8。它工作得很好。我正在使用成功的大礼包部署过程。

关于我应该从哪里开始的任何指示?

我得到的错误:“我们很抱歉,但出了点问题。” 有没有办法在生产服务器上启用更有意义的错误?

编辑

错误:

Spree::Admin::StatesController#index 作为 HTML
参数处理:{"country_id"=>"214"} Completed 500 Internal Server Error in 16ms

NoMethodError(未定义的方法集合'spree_core(1.2.0)app/controllers/spree/admin/states_controller.rb:21:in load_resource'activesupport(3.2.8)lib/active_support/callbacks.rb:473:in __run_callback'activesupport( 3.2.8) lib/active_support/callbacks.rb:385:in run_callbacks' actionpack (3.2.8) lib/abstract_controller/callbacks.rb:17:in process_action' actionpack (3.2.8) lib/action_controller/metal/instrumentation。 rb:30:in块在仪器的 activesupport (3.2.8) lib/active_support/notifications/instrumenter.rb:20:in仪器的 actionpack (3.2.8) lib/action_controller/metal/instrumentation.rb:29:instates' for nil:NilClass):
spree_core (1.2.0) app/controllers/spree/admin/resource_controller.rb:172:in
collection'
spree_core (1.2.0) app/controllers/spree/admin/resource_controller.rb:129:in
_run__4032520494098752802__process_action__736043668495006995__callbacks' activesupport (3.2.8) lib/active_support/callbacks.rb:405:in _run_process_action_callbacks' activesupport (3.2.8) lib/active_support/callbacks.rb:81:in process_action'
actionpack (3.2.8) lib/action_controller/metal/rescue.rb:29:in
block in process_action' activesupport (3.2.8) lib/active_support/notifications.rb:123:in
instrument'
activesupport (3.2.8) lib/active_support/notifications.rb:123:in
process_action' actionpack (3.2.8) lib/action_controller/metal/params_wrapper.rb:207:inprocess_action' activerecord (3.2.8) lib/active_record/railties/controller_runtime.rb:18:in process_action' actionpack (3.2.8) lib/abstract_controller/base.rb:121:inprocess' actionpack (3.2.8) lib/abstract_controller/rendering.rb:45:in process' actionpack (3.2.8) lib/action_controller/metal.rb:203:indispatch' actionpack (3.2.8) lib/ action_controller/metal/rack_delegation.rb:14:in dispatch' actionpack (3.2.8) lib/action_controller/metal.rb:246:in block in action' actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:73:in call' actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:73:indispatch'
actionpack (3.2.8) lib/action_dispatch/routing/route_set. rb:36:in call' journey (1.0.4) lib/journey/router.rb:68:inblock in call'
Journey (1.0.4) lib/journey/router.rb:56:in each' journey (1.0.4) lib/journey/router.rb:56:incall' actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:600:in call' spree_core (1.2.0) lib/spree/core/middleware/redirect_legacy_product_url.rb:13:in call' spree_core (1.2.0) lib/spree/core/middleware/seo_assist.rb:27:in call' railties (3.2.8) lib/rails/engine.rb:479:incall' railties (3.2.8) lib/rails/railtie/configurable.rb:30:在method_missing' journey (1.0.4) lib/journey/router.rb:68:in呼叫中的阻塞之旅 (1.0.4) lib/journey/router.rb:56:in each' journey (1.0.4) lib/journey/router.rb:56:incall’ actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:600:call' warden (1.1.1) lib/warden/manager.rb:35:in呼叫中的阻塞’warden (1.1. 1) lib/warden/manager.rb:34:in catch' warden (1.1.1) lib/warden/manager.rb:34:incall' actionpack (3.2.8) lib/action_dispatch/middleware/best_standards_support.rb:17:in call' rack (1.4.1) lib/rack/etag.rb:23:incall' rack (1.4.1) lib/rack/conditionalget.rb: 25:in call' actionpack (3.2.8) lib/action_dispatch/middleware/head.rb:14:incall' actionpack (3.2.8) lib/action_dispatch/middleware/params_parser.rb:21:in call' rack (1.4.1) lib/rack/session/abstract/id.rb:205:in call' actionpack (3.2.8) lib/action_dispatch/middleware/cookies.rb:339:in call' activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in block in call'call'
actionpack (3.2.8) lib/action_dispatch/middleware/flash.rb:242:in
context' rack (1.4.1) lib/rack/session/abstract/id.rb:200:in
call' activerecord (3.2.8) lib/active_record/query_cache.rb:64:in call' actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:28:in
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in __run_callback' activesupport (3.2.8) lib/active_support/callbacks.rb:385:in run_callbacks' actionpack (3.2.8) lib/action_dispatch/middleware/ callbacks.rb:27:in call' actionpack (3.2.8) lib/action_dispatch/middleware/debug_exceptions.rb:16:in call' railties (3.2.8) lib/rails/rack/logger.rb:26:in call ' actionpack (3.2.8) lib/action_dispatch/middleware/request_id.rb:22:in call' rack (1.4.1) lib/rack/runtime.rb:17:in call' rack (1.4.1) lib/rack /lock.rb:15:in forward' rack-cache (1.2) lib/rack/cache/context.rb:245:in查找' rack-cache (1.2) lib/rack/cache/context.rb:66:in_run__4438386178050912955__call__4341646712790791334__callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in
_run_call_callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:81:in
call' actionpack (3.2.8) lib/action_dispatch/middleware/remote_ip.rb:31:in
call'
actionpack (3.2.8) lib/action_dispatch/middleware/show_exceptions.rb:56:in

call_app' railties (3.2.8) lib/rails/rack/logger.rb:16:incall' rack (1.4.1) lib/rack/methodoverride.rb:21:incall' activesupport (3.2.8) lib/active_support/cache/strategy/local_cache.rb:72:incall' rack-cache (1.2) lib/rack/cache/context.rb:136:infetch' rack-cache (1.2) lib/rack/cache/context.rb:185:incall!' rack-cache (1.2) lib/rack/cache/context.rb:51:in调用' railties (3.2.8) lib/rails/engine.rb:479:in call' railties (3.2.8) lib/rails/application.rb:223:incall' railties (3.2.8) lib/rails/railtie/configurable.rb:30:in method_missing' unicorn (4.3.1) lib/unicorn/http_server.rb:531:inprocess_client' unicorn (4.3.1) lib/ unicorn/http_server.rb:606:in worker_loop' unicorn (4.3.1) lib/unicorn/http_server.rb:487:inspawn_missing_workers'
unicorn (4.3.1) lib/unicorn/http_server.rb:137:in start' unicorn (4.3.1) bin/unicorn_rails:209:in'
/data/spree/shared/bundle/ruby/1.9.1/bin/unicorn_rails:23:在'load'
/data/spree/shared/bundle/ruby/1.9.1/bin/unicorn_rails:23:in

4

2 回答 2

1

你给数据库播种了吗?跑rake db:seed

似乎您的数据库中没有预期的州/国家/地区。

于 2012-10-09T14:13:37.437 回答
0

您的 Gemfile.lock 是否受版本控制?如果 bundler 没有运行您在机器上使用的同一个 Gemfile.lock,您可能会遇到开发环境和生产环境之间的差异。

除非出现问题,否则我会尝试在您的开发盒上以生产模式运行,看看是否出现问题。我要追查的最令人沮丧的问题是,当在开发中运行相同的代码时,生产中没有出现问题。如果您可以将其隔离到不同的环境中,则可以更好地调试。试试bundle exec rails s -e production。如果出现问题,您可以安装 ruby​​ 调试器并强制它中断问题代码。您还可以编辑 config/environments/production.rb 以更紧密地匹配 development.rb,这样您就可以在不重新启动服务器、关闭类缓存等的情况下编辑代码。

我在状态代码中也有一个问题,导致我出现 406 Not Acceptable,因为请求错误地要求 HTML,而状态控制器仅使用 javascript 响应。解决的办法是在源码中找到有问题的链接,强制它请求js。你可以在这里看到它。你的问题有一些相同的特征,但不是全部,所以这是在黑暗中拍摄的。祝你好运。

于 2012-11-13T22:25:05.050 回答