ActiveRecord find()系列采用:include选项,允许您急切加载关联.
所以你需要做的就是:
@campaign = Campaign.find(:all,:include =>:hits)
以上将急于加载您的数据库调用,以便访问每个索引[0].[1]等不会发出自己的SELECT调用.你打电话的时候
@campaign [0] .to_json
然后它不会包含任何关联,例如"命中",那么你还需要:将它包含在to_json调用中,例如
@campaign [0] .to_json(:include =>:hits)