如何将ActiveStorage实施到Rails引擎中

时间:2019-05-16 15:47:16

标签: ruby-on-rails rails-activestorage

我想使用Active Storage处理我的Rails Engine中的文件。 通常,我会先通过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>

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

轨道5.2.1 https://github.com/BindaCMS/binda

2 个答案:

答案 0 :(得分:3)

有一个Rails任务

$ bin/rails app:active_storage:install

它将生成将创建2个表active_storage_blobsactive_storage_attachments的迁移。结果与您在主应用程序中进行的bin/rails active_storage:install完全一样。

希望获得帮助。

答案 1 :(得分:0)

引擎应该安装在父应用程序中,该应用程序又可以使用ActiveStorage。如果不行,无论如何,这就是迁移的归属地,您可以记录您的引擎需要主动存储