上载带有capistrano'cap production deploy'错误的Rails应用程序::authorize尚未定义(ArgumentError)?

时间:2020-07-21 12:38:31

标签: ruby-on-rails ruby capistrano

尝试修复几天后...我无法弄清楚。

我正在跟踪 gorails' tutorial,以将其部署到Rails应用程序到生产环境。似乎错误是在process_action回调之前:authorize尚未定义(ArgumentError)。该应用程序可以在localhost上正常运行,而我之前从未遇到过此问题。

我的应用程序唯一提到的:authorize是在我拥有的几个控制器中:

  skip_before_action :authorize, only: [:create, :update, :destroy]

可能

00:00 git:wrapper
      01 mkdir -p /tmp
    ✔ 01 deploy@159.65.93.234 0.134s
      Uploading /tmp/git-ssh-orderio-production-kaneandrewgibson.sh 100.0%
      02 chmod 700 /tmp/git-ssh-orderio-production-kaneandrewgibson.sh
    ✔ 02 deploy@159.65.93.234 0.123s
00:00 git:check
      01 git ls-remote git@github.com:kendrif/orderio.git HEAD
      01 c1abe2c6d48e58ffd82672970d0ecd65b0b51451       HEAD
    ✔ 01 deploy@159.65.93.234 1.728s
00:02 deploy:check:directories
      01 mkdir -p /home/deploy/orderio/shared /home/deploy/orderio/releases
    ✔ 01 deploy@159.65.93.234 0.075s
00:02 deploy:check:linked_dirs
      01 mkdir -p /home/deploy/orderio/shared/log /home/deploy/orderio/shared/tmp/pids /home/deploy/orderio/shared/tmp/cache /home/deploy/orderio/shared/tmp/sockets /home/deploy/orderio/shared/vendor/bu…
    ✔ 01 deploy@159.65.93.234 0.118s
00:02 git:clone
      The repository mirror is at /home/deploy/orderio/repo
00:03 git:update
      01 git remote set-url origin git@github.com:kendrif/orderio.git
    ✔ 01 deploy@159.65.93.234 0.117s
      02 git remote update --prune
      02 Fetching origin
    ✔ 02 deploy@159.65.93.234 1.492s
00:04 git:create_release
      01 mkdir -p /home/deploy/orderio/releases/20200721122527
    ✔ 01 deploy@159.65.93.234 0.098s
      02 git archive master | /usr/bin/env tar -x -f - -C /home/deploy/orderio/releases/20200721122527
    ✔ 02 deploy@159.65.93.234 0.399s
00:06 deploy:set_current_revision
      01 echo "c1abe2c6d48e58ffd82672970d0ecd65b0b51451" > REVISION
    ✔ 01 deploy@159.65.93.234 0.366s
00:06 deploy:symlink:linked_dirs
      01 mkdir -p /home/deploy/orderio/releases/20200721122527 /home/deploy/orderio/releases/20200721122527/tmp /home/deploy/orderio/releases/20200721122527/vendor /home/deploy/orderio/releases/20200721…
    ✔ 01 deploy@159.65.93.234 0.329s
      02 rm -rf /home/deploy/orderio/releases/20200721122527/log
    ✔ 02 deploy@159.65.93.234 0.148s
      03 ln -s /home/deploy/orderio/shared/log /home/deploy/orderio/releases/20200721122527/log
    ✔ 03 deploy@159.65.93.234 0.668s
      04 ln -s /home/deploy/orderio/shared/tmp/pids /home/deploy/orderio/releases/20200721122527/tmp/pids
    ✔ 04 deploy@159.65.93.234 0.133s
      05 ln -s /home/deploy/orderio/shared/tmp/cache /home/deploy/orderio/releases/20200721122527/tmp/cache
    ✔ 05 deploy@159.65.93.234 0.145s
      06 ln -s /home/deploy/orderio/shared/tmp/sockets /home/deploy/orderio/releases/20200721122527/tmp/sockets
    ✔ 06 deploy@159.65.93.234 0.110s
      07 ln -s /home/deploy/orderio/shared/vendor/bundle /home/deploy/orderio/releases/20200721122527/vendor/bundle
    ✔ 07 deploy@159.65.93.234 0.106s
      08 ln -s /home/deploy/orderio/shared/.bundle /home/deploy/orderio/releases/20200721122527/.bundle
    ✔ 08 deploy@159.65.93.234 0.117s
      09 ln -s /home/deploy/orderio/shared/public/system /home/deploy/orderio/releases/20200721122527/public/system
    ✔ 09 deploy@159.65.93.234 0.127s
      10 ln -s /home/deploy/orderio/shared/public/uploads /home/deploy/orderio/releases/20200721122527/public/uploads
    ✔ 10 deploy@159.65.93.234 0.114s
      11 ln -s /home/deploy/orderio/shared/public/packs /home/deploy/orderio/releases/20200721122527/public/packs
    ✔ 11 deploy@159.65.93.234 0.126s
      12 ln -s /home/deploy/orderio/shared/node_modules /home/deploy/orderio/releases/20200721122527/node_modules
    ✔ 12 deploy@159.65.93.234 0.111s
      13 ln -s /home/deploy/orderio/shared/public/assets /home/deploy/orderio/releases/20200721122527/public/assets
    ✔ 13 deploy@159.65.93.234 0.122s
00:12 bundler:config
      01 $HOME/.rbenv/bin/rbenv exec bundle config --local deployment true
    ✔ 01 deploy@159.65.93.234 0.466s
      02 $HOME/.rbenv/bin/rbenv exec bundle config --local path /home/deploy/orderio/shared/bundle
    ✔ 02 deploy@159.65.93.234 0.432s
      03 $HOME/.rbenv/bin/rbenv exec bundle config --local without development:test
    ✔ 03 deploy@159.65.93.234 0.386s
00:14 bundler:install
      The Gemfile's dependencies are satisfied, skipping installation
00:14 deploy:assets:precompile
      01 $HOME/.rbenv/bin/rbenv exec bundle exec rake assets:precompile
      01 yarn install v1.22.4
      01 [1/4] Resolving packages...
      01 success Already up-to-date.
      01 Done in 1.39s.
      01 Everything's up-to-date. Nothing to do
    ✔ 01 deploy@159.65.93.234 5.715s
00:20 deploy:assets:backup_manifest
      01 mkdir -p /home/deploy/orderio/releases/20200721122527/assets_manifest_backup
    ✔ 01 deploy@159.65.93.234 0.117s
      02 cp /home/deploy/orderio/releases/20200721122527/public/assets/.sprockets-manifest-b2b8f58ecf73a4d50a2872fdc77dcd19.json /home/deploy/orderio/releases/20200721122527/assets_manifest_backup
    ✔ 02 deploy@159.65.93.234 0.121s
00:20 deploy:migrate
      [deploy:migrate] Run `rake db:migrate`
00:21 deploy:migrating
      01 $HOME/.rbenv/bin/rbenv exec bundle exec rake db:migrate
    ✔ 01 deploy@159.65.93.234 1.968s
00:23 deploy:symlink:release
      01 ln -s /home/deploy/orderio/releases/20200721122527 /home/deploy/orderio/releases/current
    ✔ 01 deploy@159.65.93.234 0.146s
      02 mv /home/deploy/orderio/releases/current /home/deploy/orderio
    ✔ 02 deploy@159.65.93.234 0.115s
00:23 passenger:restart
      01 passenger-config restart-app /home/deploy/orderio --ignore-app-not-running
      01 Restarting /home/deploy/orderio/current (production)
    ✔ 01 deploy@159.65.93.234 0.314s
00:24 deploy:cleanup
      Keeping 5 of 6 deployed releases on 159.65.93.234
      01 rm -rf /home/deploy/orderio/releases/20200721120059
    ✔ 01 deploy@159.65.93.234 0.134s
00:24 deploy:log_revision
      01 echo "Branch master (at c1abe2c6d48e58ffd82672970d0ecd65b0b51451) deployed as release 20200721122527 by kaneandrewgibson" >> /home/deploy/orderio/revisions.log
    ✔ 01 deploy@159.65.93.234 0.117s

少一些/var/log/nginx/error.log

App 24912 output: Error: The application encountered the following error: Before process_action callback :authorize has not been defined (ArgumentError)
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/activesupport-6.0.3.2/lib/active_support/callbacks.rb:708:in `block (2 levels) in skip_callback'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/activesupport-6.0.3.2/lib/active_support/callbacks.rb:704:in `each'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/activesupport-6.0.3.2/lib/active_support/callbacks.rb:704:in `block in skip_callback'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/activesupport-6.0.3.2/lib/active_support/callbacks.rb:626:in `block in __update_callbacks'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/activesupport-6.0.3.2/lib/active_support/callbacks.rb:624:in `reverse_each'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/activesupport-6.0.3.2/lib/active_support/callbacks.rb:624:in `__update_callbacks'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/activesupport-6.0.3.2/lib/active_support/callbacks.rb:703:in `skip_callback'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/actionpack-6.0.3.2/lib/abstract_controller/callbacks.rb:215:in `block (3 levels) in <module:ClassMethods>'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/actionpack-6.0.3.2/lib/abstract_controller/callbacks.rb:96:in `block in _insert_callbacks'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/actionpack-6.0.3.2/lib/abstract_controller/callbacks.rb:95:in `each'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/actionpack-6.0.3.2/lib/abstract_controller/callbacks.rb:95:in `_insert_callbacks'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/actionpack-6.0.3.2/lib/abstract_controller/callbacks.rb:214:in `block (2 levels) in <module:ClassMethods>'
App 24912 output:     /home/deploy/orderio/releases/20200721122527/app/controllers/carts_controller.rb:4:in `<class:CartsController>'
App 24912 output:     /home/deploy/orderio/releases/20200721122527/app/controllers/carts_controller.rb:1:in `<main>'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:27:in `require'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/loader.rb:392:in `const_get'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/loader.rb:392:in `block (2 levels) in eager_load'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/loader.rb:742:in `block in ls'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/loader.rb:734:in `foreach'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/loader.rb:734:in `ls'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/loader.rb:387:in `block in eager_load'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/loader.rb:376:in `synchronize'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/loader.rb:376:in `eager_load'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/loader.rb:494:in `each'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/loader.rb:494:in `eager_load_all'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/railties-6.0.3.2/lib/rails/application/finisher.rb:122:in `block in <module:Finisher>'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/railties-6.0.3.2/lib/rails/initializable.rb:32:in `instance_exec'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/railties-6.0.3.2/lib/rails/initializable.rb:32:in `run'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/railties-6.0.3.2/lib/rails/initializable.rb:61:in `block in run_initializers'
App 24912 output:     /home/deploy/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:228:in `block in tsort_each'
App 24912 output:     /home/deploy/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
App 24912 output:     /home/deploy/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:431:in `each_strongly_connected_component_from'
App 24912 output:     /home/deploy/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:349:in `block in each_strongly_connected_component'
App 24912 output:     /home/deploy/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:347:in `each'
App 24912 output:     /home/deploy/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:347:in `call'
App 24912 output:     /home/deploy/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:347:in `each_strongly_connected_component'
App 24912 output:     /home/deploy/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:226:in `tsort_each'
App 24912 output:     /home/deploy/.rbenv/versions/2.7.0/lib/ruby/2.7.0/tsort.rb:205:in `tsort_each'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/railties-6.0.3.2/lib/rails/initializable.rb:60:in `run_initializers'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/railties-6.0.3.2/lib/rails/application.rb:363:in `initialize!'
App 24912 output:     /home/deploy/orderio/releases/20200721122527/config/environment.rb:5:in `<top (required)>'
App 24912 output:     config.ru:3:in `require_relative'
App 24912 output:     config.ru:3:in `block in <main>'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `instance_eval'
App 24912 output:     /home/deploy/orderio/shared/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/builder.rb:125:in `initialize'
App 24912 output:     config.ru:1:in `new'
App 24912 output:     config.ru:1:in `<main>'
App 24912 output:     /usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `eval'
App 24912 output:     /usr/share/passenger/helper-scripts/rack-preloader.rb:101:in `preload_app'
App 24912 output:     /usr/share/passenger/helper-scripts/rack-preloader.rb:189:in `block in <module:App>'
App 24912 output:     /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:378:in `run_block_and_record_step_progress'
App 24912 output:     /usr/share/passenger/helper-scripts/rack-preloader.rb:188:in `<module:App>'
App 24912 output:     /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
App 24912 output:     /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
[ E 2020-07-21 12:25:50.8889 22912/To age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /home/deploy/orderio/current: The application encountered the following error: Before process_action callback :authorize has not been defined (ArgumentError)
  Error ID: 25cd51e4
  Error details saved to: /tmp/passenger-error-LJgaEB.html

1 个答案:

答案 0 :(得分:0)

skip_before_action :authorize

此行假定您已定义一个名为authorize的before_action。避免出现此错误的简短答案是删除这些行(不要特别跳过不存在的内容)。或添加一个名为“ authorize”的before_action,这样当您要求跳过它时,实际上就可以完成。

冗长的答案是我在不了解您的应用程序功能的情况下无法提供的。如果需要进行授权,那么您需要深入了解其工作原理以及所需的位置,以及何时/是否可以安全地跳过它。

相关问题