2011-02-28 167 views
4

我的设置:Rails的2.3.9,红宝石1.8.7JSON包括与条件

比方说,我有这样的代码片断

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

,如果我要什么,包括用户与特定条件的职位像只有一周的帖子?

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

然后在你的to_json电话使用methods而不是include:如果要包括

user.to_json(:methods => :week_old_posts) 

:include是比较有用的

回答

6

定义一个新的方法在User模式叫week_old_posts整个关联,当你想要包含部分关联时使用方法。

+1

这将工作,除了它增加了JSON层次的另一个级别,关于如何纠正这个问题的任何想法? – Bob 2011-02-28 08:07:55