我使用生成器生成了一个新的Rails引擎项目:
rails plugin new my_engine --full --mountable \
--dummy-path spec/dummy --skip-test-unit
我正在尝试设置一个可以使用Rspec测试的Rails引擎,因此它使用test/dummy
来使用spec/dummy
来适应Rspec约定,而不是使用标准/home/user/sites/engines/blog/spec/dummy/config/application.rb:9
:in `require': cannot load such file -- sprockets/railtie (LoadError)
from /home/user/sites/engines/blog/spec/dummy/config/application.rb:9
:in `<top (required)>'
路径。在我设置完成后,由于此错误,我无法运行虚拟应用程序:
--skip-test-unit
查看虚拟应用程序中的application.rb文件,我尝试将各个require语句(由于require rails/all
选项生成)切换到标准application.js
。这允许我启动应用程序,但确实没有呈现application.css
和Started GET "/javascripts/application.js" for 128.104.84.149
at 2015-02-03 09:06:29 -0600
ActionController::RoutingError (No route matches [GET]
"/javascripts/application.js"):
文件。
rails plugin new my_engine --full --mountable
生成标准引擎时不会发生此错误:
spec/dummy
如果我将引擎插入另一个使用Rspec设置的应用程序,这也不是问题。当虚拟应用程序位于test/dummy
目录而不是{{1}}时,加载sprockets会出现什么问题?