我不确定每次拨打current_brain.current_vocab_badge
是否会对数据库进行单独调用。
如果我有这个:
max_prog = (current_brain.current_vocab_badge.topic.words.count * 2)
comp_prog = current_brain.current_vocab_badge.questions.where('style != ?', 'VisualPrereq').select{|q| q.weakness.blank? }.size
{ totes_left: remaining_prog, totes_so_far: comp_prog, cur_badge: current_brain.current_vocab_badge.name }
是否会对current_brain.current_vocab_badge
的数据库进行3次单独调用,其中current_brain
在我的application_controller中实例化为:
def current_brain
current_user.brain
end
如果是这样有助于创建它的实例变量然后引用该变量,或者我的application_controller已经实现了吗?
答案 0 :(得分:1)
这会有所帮助
def current_brain
@current_brain ||= current_user.brain
end