我希望了解在需要调用数据库的计算属性时的最佳实践。
如果我有一个拥有多个子元素Child
的Parent
,如何在ParentController#index
中呈现children_count
属性,而不想呈现子元素本身,只需要计数?最好的方法是什么?
谢谢!
模型:
class Parent < ApplicationRecord
has_many :children
def children_count
children.count # Wouldn't it ask the database when I call this method?
end
end
控制器:
class ParentsController < ApplicationController
def index
parents = Parent.all
render json: parents, only: %i[attr1, attr2] # How do I pass children_count?
end
end