Я получал эту ошибку при запуске моего приложения 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
Это, казалось, решило насущную проблему, заключающуюся в том, что тонкий сервер загружается и работает. Однако я не уверен, как это повлияет на приложение. Безопасно ли это делать в приложении Rails-API, которое использует гем Rabl для сервера JSON?
Я ссылался на раздел Active Resources Agile Web Development with Rails (Ed. 4) тоже.