如何让我的虚拟应用程序使用Engine的模板引擎?

kra*_*ene 4 template-engine ruby-on-rails rails-engines slim-lang

我有一个正在研究的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"
Run Code Online (Sandbox Code Playgroud)

但是,在转到正确的控制器/操作后,我收到此错误:

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"
Run Code Online (Sandbox Code Playgroud)

注意处理程序部分?

小智 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


Rya*_*igg 5

我也遇到了类似的问题,虚拟应用程序未加载 Devise。我所要做的就是将其放入其中config/application.rb,然后它就起作用了。也许你只需要在require 'slim'那里它也能起作用?