Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby RoR非ActiveRecord模型到_json:不工作除外_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby RoR非ActiveRecord模型到_json:不工作除外

Ruby RoR非ActiveRecord模型到_json:不工作除外,ruby,ruby-on-rails-3,Ruby,Ruby On Rails 3,我有一个自定义模型“结果”,如下所示,其中在其属性组和类别中是活动记录模型,具有id、created_at、updated_at class Result attr_accessor :groups, :categories end 当使用组和类别上的[:id、:created_at、:updated_at]方法对结果对象调用to_json时,没有效果,构造的json输出包含id、created_at和updated_at 请帮助我构造适当的条件to_json,以获得不带id的json输出

我有一个自定义模型“结果”,如下所示,其中在其属性组和类别中是活动记录模型,具有id、created_at、updated_at

class Result
  attr_accessor :groups, :categories
end
当使用组和类别上的[:id、:created_at、:updated_at]方法对结果对象调用to_json时,没有效果,构造的json输出包含id、created_at和updated_at

请帮助我构造适当的条件to_json,以获得不带id的json输出,在组和类别上创建、更新

例如:

result = Result.new
result.groups = groups
result.categories = categories

result.to_json(:include => {
  :groups => {:except => [:id, :created_at, :updated_at]},
  :categories => {:except => [:id, :created_at, :updated_at]}
})

您在
to_json
中的这些语句在序列化时都没有被考虑在内

根据页面,为了使那些
:exclude,:include,:only
语句正常工作,您必须执行以下操作(因为您没有扩展
ActiveRecord::Base
):

类别
中的类也是如此

class Result
  include ActiveModel::Serializers::JSON

  attr_accessor :groups, :categories

  def attributes
    {'groups' => groups, 'categories' => categories}
  end
end