包括没有.to_JSON rails中的关联



我在rails模型中有这样的关系,主题有许多单元,单元有许多问题。在控制器中返回这样的响应

    @response = subject.as_json()
@response["units"] = subject.units.to_json()

在这里,我想包括该主题每个单元中可用问题的数量。

做这个

    @response["units"] = subject.units.to_json(:include => :questions)

将给出包含该单元中所有问题的数组。但我只需要送去计数。

我实际上可以在单元控制器中编写一个方法来返回问题计数,但这对我来说不是很可行。因此,请告诉我是否可以通过:include直接包含count。

Thanks in advance

问题是每次这样做时都要对问题表进行计数。

您应该研究Rails中的counter_cache特性。由于每次获得此响应时都需要此值,因此在父unit上缓存计数而不是每次都运行计数是有意义的。

文档:http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html method-i-belongs_to-label-Options

Railscast: http://railscasts.com/episodes/23-counter-cache-column

顺便说一下,如果你提高你的接受率,你会得到更多更好的答案。非常低,只有29%

相关内容

  • 没有找到相关文章

最新更新