我的设置:Rails 2.3.10,Ruby 1.8.7
假设我有这段代码
user = User.find(1)
user.to_json(:include => :posts)
如果我想要将用户的帖子包含在某个条件中,例如只有一周的帖子,该怎么办?
答案 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
会更有用,当你想要包含部分关联时,使用方法。