我们在 3.2.8 应用程序中使用 rails 引擎。当我们想engine
在我们的 Rails 应用程序/另一个引擎中包含一个时,我们确实包含了engine
ingemfile(gemspec)
并将其安装在routes.rb.
但是我们注意到,如果我们删除安装命令routes.rb
并且只保留文件不变,相同的 rpsec 情况可以通过而不会出错gem engine
。gemfile (gemspec)
这让我们想知道安装导轨引擎routes.rb
和将其放入gemfile
(gemspec for engine)或两者都做有什么区别。任何帮助表示赞赏。
问问题
251 次
1 回答
0
当您想在 Rails 应用程序中安装 Rails 引擎时,将 gem 添加到应用程序的 Gemfile 中(以便在应用程序启动时需要 gem 的源代码)。您在应用程序中指定挂载路径,config/routes.rb
以便引擎的控制器响应 HTTP 请求:
Rails.application.routes.draw do
mount MyGem::Engine => "/mygem"
root to: 'home#index'
end
当您创建引擎时,默认情况下,生成器将创建一个“虚拟”应用程序,您的测试将使用该应用程序来测试您的引擎。我的猜测是您的测试仍在通过,因为您仍然在虚拟应用程序中指定了这个挂载路径。
于 2013-07-29T23:13:14.323 回答