3

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 セクションも参照しました。

4

1 に答える 1

0

Rails APIプロジェクトを廃止し、完全なRailsアプリとして書き直しました。

于 2012-12-31T04:05:35.563 に答える