【发布时间】:2016-02-18 00:55:09
【问题描述】:
当您生成 Rails 引擎时,一个生成的产品是test/dummy 下的完整基本 Rails 应用程序。您希望能够在应用程序的上下文中测试引擎是有道理的,但令我惊讶的是,即使对于像 rake db:migrate 这样的非测试活动,似乎也需要 test/dummy 应用程序。
我尝试从Rakefile 中删除对虚拟应用程序的引用,但它似乎被硬编码到引擎系统中(例如,参见engine.rake 中对APP_RAKEFILE 的引用)。
我正在尝试将 Rails 应用程序转换为引擎,并在配置、加载顺序等方面遇到各种问题。当我放置断点并查看调用堆栈时,看起来至少有一些问题是原始应用程序中的配置脚本(例如boot.rb)与生成的虚拟程序之间的差异。
有人能解释一下为什么需要这个虚拟应用程序以及它提供什么功能吗?我应该期望避免使用“原始”生成的虚拟对象,还是不可避免地对其进行修改/自定义?
【问题讨论】:
标签: ruby-on-rails-4 rails-engines