2012-01-31 75 views
4

我有一个Rails引擎我工作和gemspec有这样的:如何让我的虚拟应用程序使用引擎的模板引擎?

s.add_development_dependency "rspec-rails" 
s.add_development_dependency "combustion" 
s.add_development_dependency "capybara" 
s.add_development_dependency "factory_girl_rails" 
s.add_development_dependency "ffaker" 
s.add_development_dependency "draper" 
s.add_runtime_dependency "sqlite3" 
s.add_runtime_dependency "slim-rails" 
s.add_runtime_dependency "sass-rails" 
s.add_runtime_dependency "jquery-rails" 
s.add_runtime_dependency "rails", "~> 3.2" 

但是在去到正确的控制器/动作我得到这个错误:

Missing template countdown/subscriptions/index, countdown/application/index with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder]}. Searched in: * "/Users/krainboltgreene/Repository/ruby/countdown/spec/dummy/app/views" * "/Users/krainboltgreene/Repository/ruby/countdown/app/views" 

通知处理程序的一部分?

回答

4

我有一个类似的问题,虚拟应用程序不加载设计。我所要做的就是在config/application.rb之内需要它,然后它就工作了。也许你只需要require 'slim'那里,它也可以工作?

+0

我们在说'spec | test/dummy/config'或'config /'?我当然会尝试这两种方法,但在这里可以帮助其他人。 – krainboltgreene 2012-01-31 02:00:34

+0

'spec | test/dummy/config'。一个引擎没有'config/application.rb' ...因为它是一个引擎! :) – 2012-02-01 00:33:43

+0

证实这确实有效。 – krainboltgreene 2012-02-03 18:02:31

10

你应该要求在lib/your_engine.rb宝石。如果您只需要在您的虚拟应用的config/application.rb中,那么其他人在将您的引擎包含在他们的应用中时也会遇到同样的问题。

这可能会特别令人困惑,因为在常规的Rails应用程序开发中。很容易依靠Bundler.require为你加载所有的宝石。

http://myronmars.to/n/dev-blog/2012/12/5-reasons-to-avoid-bundler-require