Rails 3:a​​s_json与include结合的问题

时间:2011-06-26 15:43:43

标签: json ruby-on-rails-3

我有一个1:n关系的两个模型。两者都只以JSON推出。因此我在两个模型中都定义了as_json:

class Foo < ActiveRecord::Base
  has_many :foos, dependent: :destroy
  def as_json options={}
    super except: [:created_at, :updated_at, :id, :user_id], include: options[:include]
  end
end


class Bar < ActiveRecord::Base
  belongs_to :foo
  def as_json options={}
    super except: [:id, :foo_id, :created_at, :updated_at], include: options[:include]
  end
end

现在我独立请求foo和bar,as_json作为例外。但是如果我要求包含foo的bar,则响应包含foo,其中包含不应存在的属性。实际上as_json甚至没有被调用。

这似乎是标准行为。但是我怎样才能将其关闭/实现我的目标,即始终独立使用as_json,是否使用了包含或不使用?

我感谢各种有助于解决这个问题的提示,链接或答案。

提前谢谢。 菲利克斯

0 个答案:

没有答案