我正在另一个 Rails 应用程序中构建 Rails 引擎。引擎的 rake 任务似乎限定在应用程序范围内:
# inside <app_root>/engines/engine_name
$ rake -T apartment
rake app:apartment:migrate # Migrate all tenants
而从应用程序的根目录:
#inside <app_root>/
$ rake -T apartment
rake apartment:migrate # Migrate all tenants
我的问题是当我运行时
# inside <app_root>/engines/engine_name
RAILS_ENV=test rake db:migrate
我收到以下错误:
rake aborted! Don't know how to build task 'apartment:migrate'
似乎它应该调用 app:apartment:migrate 任务,但我不确定该怎么做,所以我可以使用 RSpec 自行测试这个引擎
最佳答案
你应该在这里有一个引擎的 Rakefile:<app_root>/engines/engine_name/Rakefile
尝试将此行添加到它的底部以从公寓 gem 加载 rake 任务:
load 'tasks/apartment.rake'
关于ruby-on-rails - Rails Engine 内部的公寓 gem 迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24353394/