从另一个控制器访问变量
access variables from another controller
我刚刚从 PHP 切换到 rails,我正在尝试弄清楚如何让我的 menu_price 控制器访问我的类别控制器中的变量。
class CategoriesController < ApplicationController
before_action :set_category, only: [:show, :edit, :update, :destroy]
def index
@categories = Category.all
end
我想到了全局变量,但发现这不是一种安全的方法。我还读到 ruby 不支持多重继承,这将是我的第二种方法。
这是我的菜单控制器(我只添加了一部分,因为其余代码不相关。)
class MenuPricesController < ApplicationController
before_action :set_menu_price, only: [:show, :edit, :update, :destroy]
def index
@menu_prices = MenuPrice.all
end
我敢肯定这很简单,但过去一个小时左右我一直在寻找答案。我读到了有关关注文件夹的信息,但我不确定如何处理它,我的书中还没有讲到那么多。
在您的 MenuPricesController
中,您可以创建一个新的 Category
实例并像这样使用它:
class MenuPricesController < ApplicationController
before_action :set_menu_price, only: [:show, :edit, :update, :destroy]
def index
@menu_prices = MenuPrice.all
@categories = Category.all
# do something
end
Category.all 未在您的 CategoriesController class 中定义,它在类别 class 中(我假设它是一个 ActiveModel 模型...)您可以(并且应该)在控制器操作中创建实例变量。
我刚刚从 PHP 切换到 rails,我正在尝试弄清楚如何让我的 menu_price 控制器访问我的类别控制器中的变量。
class CategoriesController < ApplicationController
before_action :set_category, only: [:show, :edit, :update, :destroy]
def index
@categories = Category.all
end
我想到了全局变量,但发现这不是一种安全的方法。我还读到 ruby 不支持多重继承,这将是我的第二种方法。
这是我的菜单控制器(我只添加了一部分,因为其余代码不相关。)
class MenuPricesController < ApplicationController
before_action :set_menu_price, only: [:show, :edit, :update, :destroy]
def index
@menu_prices = MenuPrice.all
end
我敢肯定这很简单,但过去一个小时左右我一直在寻找答案。我读到了有关关注文件夹的信息,但我不确定如何处理它,我的书中还没有讲到那么多。
在您的 MenuPricesController
中,您可以创建一个新的 Category
实例并像这样使用它:
class MenuPricesController < ApplicationController
before_action :set_menu_price, only: [:show, :edit, :update, :destroy]
def index
@menu_prices = MenuPrice.all
@categories = Category.all
# do something
end
Category.all 未在您的 CategoriesController class 中定义,它在类别 class 中(我假设它是一个 ActiveModel 模型...)您可以(并且应该)在控制器操作中创建实例变量。