首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails,模型的实现选项

Rails,模型的实现选项
EN

Stack Overflow用户
提问于 2016-04-15 07:28:05
回答 1查看 47关注 0票数 0

标题听起来很奇怪,我的问题也是如此。我正在建立一个简单的应用程序-我有一个餐厅模型,其中has_many餐,用户可以添加到他们的购物车作为订单(订单模型有一个餐的id和数量)。现在,我希望能够在餐饮中添加选项-例如,披萨餐将有“小”,“中”和“大”选项,这将影响这一项目的价格。你认为实现这一点的最好方法是什么?我的问题是,每顿饭可能有不同的选择,选择可能有不同的价格。因此,我不能简单地将属性"option“作为字符串添加。另一方面,如果我使用另一个模型,路由中会有太多的嵌套,我认为这是一种糟糕的做法:

代码语言:javascript
运行
复制
resources :restaurants do
   resources :meals do
      resources :options
   end
end

如何避免这种情况?感谢您的建议!!

EN

回答 1

Stack Overflow用户

发布于 2016-04-15 07:56:17

没有理由不建立一个期权模型来根据需要保留你的每一个选项--尽管你真的应该考虑餐馆的浅层路线,因为餐馆本身与选项无关。因此,您的路由可能如下所示:

代码语言:javascript
运行
复制
resources :restaurants, shallow: true do
   resources :meals do
      resources :options
   end
end

如果你现在看看你的路由(rake路由),你会发现它们有多大的变化。

但值得考虑的是,你不需要资源来做选择。访问者不会创建新的选项。他们将现有的选项添加到集合(meal + option = order ..或者类似的东西) --因此您可能只在admin名称空间中有用于为菜单创建新选项的路由。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36635777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档