gpt4 book ai didi

ruby-on-rails - 铁路应用模型/ Controller 和路线组织

转载 作者:行者123 更新时间:2023-12-02 04:11:18 25 4
gpt4 key购买 nike

我正在尝试开发具有以下目标的 Rails 应用程序:
/foods/ - 呈现食物类别列表(例如:面包、乳制品、 cookies ...等)/foods/breads/ - 渲染食物类别“面包”中的所有食物foods/breads/bagel - 呈现食物属性的详细 View (在本例中为百吉饼)。

目前我有两个带有关联 Controller 的模型:
Foods - 包含食物列表(例如:百吉饼、米饭、 toast 、浓茶 cookies ...等)并设置为 belongs_to一只食猫
Food Categories - “乳制品”、“面包”...等类别列表设置为 has_many :foods
我真的很纠结如何实现我的目标。我真的需要关于路由、 Controller 操作和 View 的建议。

有什么建议么?

最佳答案

在您的 routes.rb 文件中,我将执行以下操作:

match 'foods' => 'FoodCategories#index'
match 'foods/:category' => 'Foods#index'
match 'foods/:category/:name' => 'Foods#show'

然后,我将按类别为 Foods 创建一个范围:
class Food
scope :by_category, lambda{ |category| joins(:categories).where('categories.name = ?', category) }
end

然后我将在您的 FoodsController 中执行 2 个操作:
class FoodsController
def index
@foods = Food.by_category(params[:category])
end

def show
@foods = Food.by_category(params[:category]).where('foods.name = ?', params[:name])
end
end

以及 FoodCategoriesController 中的一个操作:
class FoodCategories
def index
@categories = Category.where(name: params[:category])
end
end

这应该让您不得不实现 3 个 View :类别/索引、食物/索引和食物/显示。

关于ruby-on-rails - 铁路应用模型/ Controller 和路线组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5052585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com