首页 > 解决方案 > 我应该如何在 Rails 引擎中实现 ActiveStorage

问题描述

我想使用 Active Storage 来处理我的 Rails 引擎中的文件。通常,我会首先通过 active_storage 生成器创建迁移,但该任务似乎不存在。

bundle exec rails active_storage:install --trace

** Invoke load_app (first_time)
** Execute load_app
rails aborted!
Don't know how to build task 'active_storage:install' (see --tasks)
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/rake-12.3.1/lib/rake/task_manager.rb:59:in `[]'
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/rake-12.3.1/lib/rake/application.rb:159:in `invoke_task'
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/rake-12.3.1/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/rake-12.3.1/lib/rake/application.rb:116:in `each'
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/rake-12.3.1/lib/rake/application.rb:116:in `block in top_level'
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/rake-12.3.1/lib/rake/application.rb:125:in `run_with_threads'
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/rake-12.3.1/lib/rake/application.rb:110:in `top_level'
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/railties-5.2.1/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/rake-12.3.1/lib/rake/application.rb:186:in `standard_exception_handling'
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/railties-5.2.1/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/railties-5.2.1/lib/rails/command.rb:48:in `invoke'
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/railties-5.2.1/lib/rails/commands.rb:18:in `<top (required)>'
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/railties-5.2.1/lib/rails/engine/commands.rb:9:in `require'
/Users/lorenzo/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/railties-5.2.1/lib/rails/engine/commands.rb:9:in `<top (required)>'
bin/rails:14:in `require'
bin/rails:14:in `<main>

我对引擎不是很有经验,所以我想知道我是否走错了路。

Rails 5.2.1 https://github.com/BindaCMS/binda

标签: ruby-on-railsrails-activestorage

解决方案


有一个rails任务

$ bin/rails app:active_storage:install

它生成将创建 2 个表active_storage_blobsactive_storage_attachments. 结果与您bin/rails active_storage:install在主应用程序中所做的完全相同。

希望这有帮助。


推荐阅读