我如何将include_root_in_json设置为false用于我所有的RoR模型?我如何设置include_root_in_json为所有我的RoR模型的false?
我已经尝试在application.rb中设置ActiveModel :: Base.include_root_in_json = false,但它没有效果。
我如何将include_root_in_json设置为false用于我所有的RoR模型?我如何设置include_root_in_json为所有我的RoR模型的false?
我已经尝试在application.rb中设置ActiveModel :: Base.include_root_in_json = false,但它没有效果。
Model.to_json方法用于返回表示模型JSON字符串和我已经使用 self.include_root_in_json =在一个模型本身假。
而且对整个应用程序,你可以尝试设置::加载ActiveModel = Base.include_root_in_json假在初始化[编辑本段不起作用。]
[编辑] 的ActiveRecord :: Base.include_root_in_json = true尝试将此行添加到config/environment.rb文件。
对于默认的系统范围的配置常是好主意,设置初始化变量,如配置/初始化/ defaults.rb
我不知道这是否是对铁轨的更高版本的事实,但对我来说(运行2.3.5 ATM)已经有在/config/initializers/new_rails_defaults.rb此设置它被设置为一个声明:
ActiveRecord::Base.include_root_in_json = true
所以,如果你尝试设置在另一个地方这个设置,那么它可能被覆盖。
+1适用于我在'config/initializers/new_rails_defaults.rb'中将“true”更改为“false”。 – maerics 2011-05-24 18:34:10
我想你应该设置在配置的ActiveRecord :: Base.include_root_in_json = FALSE/application.rb中
加载ActiveModel不:: Base的
On Rails的3.2.2,这已经是在初始化设置:
--- config/initializers/wrap_parameters.rb
---
# Disable root element in JSON by default.
ActiveSupport.on_load(:active_record) do
self.include_root_in_json = false
end
在 “配置/初始化/ wrap_elements.rb” 的Rails 4,你可以取消以下:
ActiveSupport.on_load(:active_record) do
self.include_root_in_json = true
end
这也适用于我self.include_root_in_json = false,但ActiveModel :: Base.include_root_in_json = false导致错误,就像它没有定义。 (我正在使用Rails 3) – 2010-12-10 11:41:33
你可以尝试把下面一行放在config/environment.rb中 ActiveRecord :: Base.include_root_in_json = false – ranendra 2010-12-10 16:01:06
我在config/initializers/active_record.rb中有一个初始化器,它包含' ActiveRecord :: Base.include_root_in_json = false',它适用于我(我使用Rails 3.0.4)。你必须记住的东西(它曾经让我意识到)是如果你改变一个初始化器,你需要重新启动你的服务器或重新加载你的控制台才能生效。 – 2011-02-27 10:37:20