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

时间:2010-02-20 01:23:03

标签: ruby-on-rails

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

我正在尝试制作一个简单的购物车链接,其中包含应用布局顶部购物车中的商品数量:<%= @cart.items.length %>如果您有两个商品,它将看起来像购物车(2)

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

1 个答案:

答案 0 :(得分:3)

您需要使用before_filter并将其放在应用程序控制器中:

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