我在使用 Foreman 和 Thin 启动我的 Rails-API 应用程序时遇到了这个错误。
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 应用程序中这样做安全吗?
我引用了 Active Resources section of Agile Web Development with Rails (Ed. 4)
最佳答案
我放弃了 Rails API 项目,现在我将其重写为一个完整的 Rails 应用程序。
关于ruby-on-rails - 注释掉 `wrap_parameters` 初始化器可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14093076/