【问题标题】:Adding categories to a Ruby on Rails application向 Ruby on Rails 应用程序添加类别
【发布时间】:2011-08-12 20:41:51
【问题描述】:

我之前在创建应用程序时遇到过一些问题,我想我又开始遇到它了,因此我在 StackOverflow 上问这个问题来节省我很多时间。 在过去的几周里,我一直在为我的系统建立一个完善的产品模型。该模型完全按照我的意愿执行,并且具有几个复杂的功能(例如通过太阳黑子搜索)。在我开始这个繁重的开发之前,我想将类别设置为产品结构 - 但是在这种事情上挣扎只会让我无法创建应用程序,所以我直接进入了产品结构。 现在我已经设置了产品模型 - 添加类别所有权以包含产品的最简单方法是什么? (所有产品都有一个 category_id 列,用于存储其父类别 ID) 我的计划是让类别索引成为所有类别的列表,类别显示是该类别内产品的列表,产品显示是实际产品的视图。这将消除产品索引,因此我必须想出一种方法,以某种方式将搜索功能(太阳黑子)从我的索引视图移植到类别显示。 至于产品的实际清单 - 我想我必须做一些部分? (我对此了解不多)。

基本上,我的关系计划是: 类别:

has_many :products

产品:

has_one :category

然后我的产品有一个 category_id 列来存储其父类别的 ID。

关于如何建立关系的任何提示(分类展示以列出产品等)?

最好的问候,

【问题讨论】:

  • 听起来你想要一个类别和产品之间的关系,Rails 关系不是你想要的吗?
  • has_many 关系基本上可以做得很好 - 但我不确定如何真正让一切顺利进行(比如基本上将当前教程索引页面转移到类别显示页面)。
  • 好吧,当你问一个具体而直接的问题时,通常 StackOverflow 效果最好。有什么方法可以将其总结为一个问题吗?也许重写你的帖子,看起来你有很多东西,这对一些想要帮助的人来说可能是令人生畏的。 :)
  • 如果您有特定的问题,您将得到特定的答案。如果你有一个模糊的问题,它可能根本得不到答案。将您的问题修改得更切题会有所帮助,并粘贴一些您正在处理的模型的简明示例可以更好地构建问题。
  • 我添加了一些硬代码来显示我正在寻找的关系 - 希望这会吸引更多的答案..

标签: ruby-on-rails model has-many relationships


【解决方案1】:

ActiveRecord support 中内置了您想要的那种关系。了解 Rails 中的模型关系对于在 Rails 中做任何重要的事情都至关重要,所以要好好学习。

此外,您正在寻找的关系类似于:

产品: belongs_to :category

类别: has_many :products

【讨论】:

  • 我明白了。您如何建议在模型之外实现这种关系?
  • 我不太明白 - 你没有使用数据库吗?这就是你不想使用 ActiveRecord 的原因吗?如果您使用数据库来存储数据,我不知道您为什么不使用 ActiveRecord。
  • 我纠正了我的回答中的一个错误 - 我的关系倒退了。
  • 我可以通过模型设置关系 - 但我不太确定如何传输视图等中的所有内容,以便产品实际上嵌套在类别显示视图等中。 ..
  • 我不确定如何回答您的问题,因为关系、控制器、视图等如何协同工作的答案是您需要阅读 Rails 教程并按照它们进行操作。这些是您在阅读 Rails 教程时首先要学习的内容。我可以为您指出的一个很好的资源是关于 Rails 的书,由它的创建者撰写:amazon.com/Agile-Development-Rails-Pragmatic-Programmers/dp/…
猜你喜欢
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
  • 2015-11-11
  • 2011-05-15
  • 2017-12-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多