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

ダミーアプリケーションがDeviseをロードしないという同様の問題がありました. 私がしなければならなかったのは、それを内部で要求することでしたconfig/application.rb。おそらくあなたはそこにいる必要がrequire 'slim'あり、それもうまくいくでしょうか?

于 2012-01-31T01:38:42.003 に答える