Rails-API アプリを Foreman と Thin で起動すると、このエラーが発生しました。
AM@~/Documents/RailsWS/app1229 >foreman start
09:47:39 web.1 | started with pid 773
09:47:44 web.1 | => Booting Thin
09:47:44 web.1 | => Rails 3.2.8 application starting in development on
http://0.0.0.0:5000
09:47:44 web.1 | => Call with -d to detach
09:47:44 web.1 | => Ctrl-C to shutdown server
09:47:45 web.1 | Exiting
09:47:45 web.1 |
/Users/AM/Documents/RailsWS/app1229/config/initializers/wrap_parameters.rb:8:in
`block in <top (required)>': undefined method `wrap_parameters' for
ActionController::API:Class (NoMethodError)
initializers/wrap_parameters.rb
デバッグに何時間も費やした後、うまくいかなかったので、最終的にハックを試すことにしました。プロジェクトのファイルのこの行を次のようにコメントアウトしました。
ActiveSupport.on_load(:action_controller) do
#wrap_parameters format: [:json]
end
これにより、シンサーバーが起動して実行されるという点で、差し迫った問題が解決されたようです。ただし、これがアプリにどのような影響を与えるかはわかりません。これは Rabl gem を使用して JSON をサーバー化する Rails-API アプリで安全に実行できますか?
Agile Web Development with Rails (Ed. 4)の Active Resources セクションも参照しました。