2012-01-31 77 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