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

2 回答 2

10

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

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

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

于 2013-02-06T20:04:12.423 回答
4

我在虚拟应用程序没有加载设计时遇到了类似的问题。我所要做的就是在里面要求它config/application.rb,然后它就起作用了。也许你只需要在require 'slim'那里,它也会起作用吗?

于 2012-01-31T01:38:42.003 回答