JSON包括条件

时间:2011-02-28 07:24:51

标签: ruby-on-rails json

我的设置:Rails 2.3.10,Ruby 1.8.7

假设我有这段代码

user = User.find(1)
user.to_json(:include => :posts)

如果我想要将用户的帖子包含在某个条件中,例如只有一周的帖子,该怎么办?

1 个答案:

答案 0 :(得分:6)

week_old_posts模型中定义名为User的新方法:

def week_old_posts
  posts.where("created_at > ?", 1.week.ago)
end

然后在to_json来电中使用methods而不是include

user.to_json(:methods => :week_old_posts)
如果你想要包含一个完整的关联,那么

:include会更有用,当你想要包含部分关联时,使用方法。