我开始制作一个Rails 3.1引擎,而且我很难用rspec来testing它。 首先,如果我运行rails g integration_test whatever它在testing/集成中创build常规集成testing而不是spec / requests(rspec-rails gem作为gemspec文件中的开发依赖项安装和需要) 此外,当我运行一个规范testing时,我得到一个错误,说与我正在testing的模型对应的表尚未创build。 我尝试了rake engine_name:install:migrations并运行rake db:migrate从虚拟应用程序内部rake db:migrate ,并得到“表已存在”错误。 一切似乎都是断开的,我觉得我错过了一些东西,使得rspec gem无缝地工作,就像通常使用完整的rails应用程序一样。 我跟着从这里http://rubyx.com/2011/03/01/start-your-engines的所有更改,我可以通过控制台启动虚拟应用程序手动testing引擎,如下所示http:// railscasts。 com / episodes / 277-mountable-engines 。 有没有办法让RSpectestingrails 3.1引擎的默认值?
我在这里做一个引擎,它独立工作。 当我把它转换成一个gem,并将其加载到另一个应用程序中时,我得到了很多未定义的错误,来自我的引擎gem的依赖关系。 这是gemspec: s.add_dependency('paperclip') s.add_dependency('jquery-rails') s.add_dependency('rails3-jquery-autocomplete') s.add_dependency('remotipart') s.add_dependency('cancan') 在应用程序中,当我进行软件包安装时,它列出了所有这些依赖项,但是当我运行应用程序时,我收到了很多未定义的方法错误(例如来自paperclip的has_attachment)。 看来,应用程序不会加载引擎的依赖关系。 这是默认行为? 我可以改变它吗? 发动机内部的插件也是如此。 如果我手工插入这些gem,在应用Gemfile中,所有的作品…