このアプリケーションは、Paloma gemを使用して、各リクエストのJavaScript実行を監視します。ヘッダーのみの応答を実行しようとするまで、これは通常はうまく機能します。たとえば、コントローラーの更新アクションのコードは次のとおりです。
class EmployeesController < InternalController
def update
respond_to do |format|
format.any do
head :ok
end
end
end
end
ものすごく単純。この応答を生成するためにビューやテンプレートを使用する必要はありません。右?次に、Palomaが関与します...そして、素晴らしく単純なHTTP 200 OKの代わりにActionView::MissingTemplate
、次のエラーメッセージとトレースで例外が発生します。
Missing partial paloma/callback_hook with {:locale=>[:en], :formats=>[:all], :handlers=>[:erb, :builder, :slim, :coffee, :haml, :rabl]}.
Searched in: * "/Users/<username>/Development/<app name>/app/views" * "/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/jasminerice-0.0.10/app/views" * "/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/paloma-2.0.1/app/views" * "/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.14.1/app/views" * "/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/devise-2.2.3/app/views" * "/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/paloma-2.0.1/app/views"
Backtrace:
/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.12/lib/action_view/path_set.rb:58:in `find'
/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.12/lib/action_view/lookup_context.rb:109:in `find'
/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.12/lib/action_view/renderer/partial_renderer.rb:339:in `find_template'
/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.12/lib/action_view/renderer/partial_renderer.rb:333:in `find_partial'
/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.12/lib/action_view/renderer/partial_renderer.rb:222:in `render'
/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.12/lib/action_view/renderer/renderer.rb:41:in `render_partial'
/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.12/lib/action_view/renderer/renderer.rb:15:in `render'
/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.12/lib/action_view/helpers/rendering_helper.rb:24:in `render'
/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/haml-4.0.0/lib/haml/helpers/action_view_mods.rb:12:in `render_with_haml'
/Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/paloma-2.0.1/lib/paloma/action_controller_filters.rb:23:in `update_callback'
...
(further lines snipped)
問題を混乱させるのは、インストールされている宝石を見てみると、探している部分がすべての栄光の中にあるという事実です。したがって、Railsができなかったはずの理由はないようです。それを見つけるために:
Maple:~ <username>$ ls -l /Users/<username>/.rvm/gems/ruby-1.9.3-p194/gems/paloma-2.0.1/app/views/paloma
total 8
-rw-rw-r-- 1 <username> staff 1323 Mar 11 09:10 _callback_hook.html.erb
これは、HTTPステータス200と応答本文を返す他の要求では発生しません。これは、Railsのhead
メソッドを介したヘッダーのみの応答でのみ発生します。
パロマの宝石にバグを見つけましたか?またはRailsのバグですか?または、ビューを見つけるために調整する必要があるものはありますか?そもそも、Railsがヘッダーのみの応答を生成するためのビューを検索しているのはなぜですか?誰もが提供できる助けや提案は大歓迎です。