如何在更复杂的Rails应用程序中考虑模型和关系?

时间:2017-11-11 18:25:41

标签: ruby-on-rails ruby ruby-on-rails-5 models relationships

我一直在学习Ruby on Rails很长一段时间,并且已经构建了几个玩具应用程序。我参加了许多课程/课程(即Hartl,Code School,Udemy等)。现在我正在开展一个相当复杂的宠物项目 - 许多模型和关系。

以下是我的问题:如何在模型和关系方面考虑复杂的应用程序?在我看来应该有一些视觉方式来模拟所有这些,但我没有看到任何类型的建模在我采取的任何类。当然,Rails指南中有非常简单的图表,但是如何将它扩展到更复杂的东西呢?或者,我是否太复杂了?我是否只是开始编码模型和关系,看看它需要我在哪里?看起来这个临时的方法可以很容易地把我画成一个角落,如果我把自己画成一个角落,我将不得不从头开始,可以这么说。

是否有可以帮助我的工具或博客文章?

(注意:我也在https://www.reddit.com/r/rails/comments/7c9zbf/how_to_think_about_rails_web_application/的Reddit.Com/r/Rails上发布了这个问题)

2 个答案:

答案 0 :(得分:3)

听起来你所追求的是架构设计师。我将在这篇文章的底部链接一个。模式设计器允许您可视化应用程序中的所有关系,并查看一个模型如何连接到另一个模型。它们在编写复杂的数据库查询时非常有用。我附上了一个相当简单的设计的例子,只是为了让你知道他们做了什么。你也可以添加一个模型在设计中的所有列,我通常更多地用于关系。 http://ondras.zarovi.cz/sql/demo/  schema expample

答案 1 :(得分:1)

纯粹基于我的经验/意见......

在构建应用时,您最终会多次更改数据库设计。

我将从白板开始,然后考虑使用模式设计器作为@aram提到。

看完大局后,首先要了解当今功能所需的关系。您可以继续参考原始设计,这样您就可以看到更大的图景,但是您不希望在需要之前过度挖掘您的架构,因为它会发生变化。

在编写一些代码并构建这些关系之后,您可以使用rails-erd gem来检查自己,以编程方式生成应用程序的架构。