课程之间的关联点是什么?

时间:2014-05-27 18:50:18

标签: ruby-on-rails ruby rails-activerecord

因此,根据我目前的理解,协会允许类访问允许它们与其他类创建关系的方法。这为模型提供了内在的一致性;但这与最终用户有什么关系呢?我的意思是,是的,开发人员现在可以更加轻松地以更简化的方式链接到类 - 但开发人员不能用HTML / JS / View完成所有这些操作吗?关联的方法似乎过于冗余。

如果我的理解失败或者我对此(双关语意图)的看法过于简单,我道歉,我只是想绕过这个系统的内在机制。有人可以解释一下关联点以及它们对我扮演的角色吗?如果您可以使用隐喻或ELI5解释它,可获得10+奖励积分。谢谢!

修改

我已经read the documentation了。它说“关联是一组类似宏的类方法,用于通过外键将对象绑在一起”我明白这一点。我只是想更具体地了解它们的用途,因为“将物体捆绑在一起”非常模糊,作为一个新手,它确实让我没有真正的理解。

2 个答案:

答案 0 :(得分:2)

“过度冗余?”在每个应用程序中执行相同的工作将更多多余。

“将对象一起打字”简洁得出:除了琐碎的情况外,大多数数据都有其他相关的不同数据。考虑一个基于树的评论系统。

  • 该网站有用户。
  • 用户有评论。
  • 评论有父母(和孩子)。

这些是相关数据。这些关系由Rails通过关联抽象出来。

是的,当然你可以手动完成所有事情,但任何框架都是如此。

重点是关联数据存在很多重复。

答案 1 :(得分:1)

从实际角度来看:没有关系和关联,您就无法将数据存储到数据库中。

想象一下,你正在建立一个博客。您的博客有多个作者。 一位作者可以有很多帖子,一篇帖子有很多评论。

如何在没有关联的情况下在博客中显示此数据,甚至更好, 不知道哪个帖子是由哪个作者作出的,哪个评论是在哪个帖子中做出的 等等。

但是对于rails中的关联,如果你想知道帖子的作者,你可以简单地做:

post = Post.find(:id)
post.author

如果您想知道作者发表的所有帖子,您可以:

author = Author.find(:id)
author.posts
相关问题