2017-3-7号:如何在view里面用controller里的method

helper_method

在controller里面的method不能在view里面用。

也就是在

on rails
1
2
3
4
5
class ProductsController
def find_cart
@cart = Cart.find(session[:cart_id])
end
end

view里面不能用

1
<%= find_cart.items %>

拉这个cart出来直接用。

怎么办?

在controller里用helper_method宣告这是一个controller级的helper。

1
2
3
4
5
6
7
class ApplicationController
helper_method :current_cart
def current_cart
cart = Cart.find(session[:cart_id])
return cart
end
end

这样你就能在view里面用current_cart

1
<%= current_cart.items %>