2011-02-08 154 views
0

我还在学习Ruby,并且陷入了许多“魔术”中,想更好地理解实际发生的事情,并确保我理解它在做什么。rails如何管理关联?

我有一个用户,每个用户都有条目。 在我的用户类,我有

 
has_many :entries 

,并在我的项I类有

 
belongs_to :user 

我期待这些条目表,对于用户一列,但我没有看到那个当我'描述'数据库。

我如何知道,或者Rails如何知道条目连接到哪个用户?或者我需要自己创建一个领域来做到这一点?

对我来说,我们似乎很奇怪,我们拥有所有这些“belongs_to”等,但它并没有明确说明如何建立连接。

回答

1

这是一个常见的误解。关联不会为您创建数据库表。相反,你必须自己创建它们。你需要注意的是,Entry模型会有一个user_id字段,以便关联充分发挥作用。我真的不想做广告或什么,但我已创建了一个博客文章,可以帮助你相当多,我认为:

http://www.codercaste.com/2011/02/06/rails-association-in-plain-english-what-i-wish-i-had-known-before-i-started/

+0

感谢SpyrosP,您的文章做了解释不同类型的一份体面的工作协会,但我仍然试图找出如何在数据库中创建关联。什么是最好的方式来做到这一点?我认为这将是一个不喜欢将id传递给隐藏领域的表单,但我不确定。 在这个例子中,我可以从current_user获得用户,但是如果以后我想在entry_votes之类的其他类中添加,我试图找出链接这些东西的rails方法。 – pedalpete 2011-02-08 18:52:39