ruby-on-rails - Rails Engine 内部的公寓 gem 迁移

标签 ruby-on-rails ruby rake multi-tenant apartment-gem

我正在另一个 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/

相关文章:

ruby-on-rails - rake db :migrate do? 究竟是什么

ruby-on-rails - 无法使用带 Rails 的 PostgreSql 创建数据库

ruby-on-rails - Rails 6,@unbound_templates 在actionview/lib/action_view/template/resolver.rb 中为零

ruby-on-rails - 未定义方法 `parent' 为 nil :NilClass

mysql - 如何使用 Rails 工具构建 SQL 'OR' 查询?

c# - Albacore nuspec 任务能否自动解决所有依赖项?

ruby-on-rails - spree 价格基于重量

ruby-on-rails - Rack/Rails中的HTTP/2支持

ruby /Mechanize "failed to allocate memory"。删除 'agent.get' 方法的实例化?

ruby - RSpec Rake 文件,但没有要加载的此类文件 -- rake/tasklib