我有一个正在研究的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"
注意处理程序部分?
答案 0 :(得分: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
答案 1 :(得分:4)
虚拟应用程序没有加载Devise我遇到了类似的问题。我必须做的是在config/application.rb
内要求它然后它起作用。也许你只需要require 'slim'
那里也可以工作吗?