如何从另一个控制器访问部分实例变量

问题描述 投票:0回答:1

我试图将实例变量从一个控制器/视图访问到另一个控制器/视图。

的ProductsController

def index
  @searcher = build_searcher(params.merge(include_images: true))
  @products = @searcher.retrieve_products
end

我想访问@products partial中的_header.html.erb,这是主要布局页面application.html.erb的一部分。

ruby-on-rails variables instance-variables
1个回答
1
投票

在局部变量局部传递局部变量总是一个好习惯,使其可以在多个地方使用。所以你应该在部分局部变量中传递@products -

除非我错过了一些变量应该是@products而不是@product因为index行动有@products

= render partial: 'header', locals: {product: @product}

在_header.html.erb中,product可以访问本地变量,即@product

© www.soinside.com 2019 - 2024. All rights reserved.