如何有效地在所有控制器方法中访问模型数据?

我有一个包含物品的购物车,在我的控制器索引方法中,我使用@cart = find_cart来查找购物车的物品。

我正在尝试制作一个简单的购物车链接,其中包含我的应用程序布局顶部的购物车中的项目数量: 它看起来像购物车(2),如果你有两个项目。

不重复(即将@cart = find_cart添加到每个控制器方法),如何在整个应用程序中有效地提供此数据?

您将需要使用before_filter并将其放在Application Controller中:

 class ApplicationController < ActionController::Base before_filter :find_cart_items private def find_cart_items @cart = find_cart end end 

然后,在您不想找到购物车的任何控制器中,只需使用:

 skip_before_filter :find_cart_items