我一直在尝试从一个控制器/视图访问实例变量到另一个控制器/视图。
ProductsController
def index
@searcher = build_searcher(params.merge(include_images: true))
@products = @searcher.retrieve_products
end
我想访问@products
部分中的_header.html.erb
,这是主布局页面application.html.erb
的一部分。
答案 0 :(得分:1)
在局部变量中传递局部变量,以使其在多个地方都可以使用始终是一个好习惯。因此,您应该在局部变量内的局部变量内传递@products
-
除非我缺少某些变量,否则应使用@products
代替@product
,因为index
动作具有@products
= render partial: 'header', locals: {product: @product}
在_header.html.erb product
中,可以访问本地变量@product