我遇到了一个demo,其中包含以下行:
map.current_cart 'cart', :controller => 'carts', :action => 'show', :id => 'current'
将id
设置为'current'
是否会通过某种魔法调用函数current_cart
?
application_controller.rb:
def current_cart
session[:cart_id] ||= Cart.create!.id
@current_cart ||= Cart.find(session[:cart_id])
end
答案 0 :(得分:0)
见carts_controller。方法current_cart
来自行动show
。所以没有任何魔法:它只是从行动中调用方法,它会执行下一步:
@current_cart
中缓存购物车。它也可以在任何视图中使用@cart
carts_controller
变量
醇>