开发者

How does rails manage associations?

I'm still learning Ruby, and get caught up in alot of the 'mag开发者_高级运维ic', wanting to better understand what is actually happening, and making sure that I understand what it is doing.

I've got a user, and each user has entries. In my user class, I have

has_many :entries

and in my entries class I have

belongs_to :user

I was expecting that the entries table would have a column for users, but I'm not seeing that when I 'describe' the database.

How do I know, or how does Rails know which user the entry is connected to? Or do I need to create a field myself to do that?

It seems strange to me that we have all these 'belongs_to', etc. yet it isn't explicit how that connection is made.


This is a common misconception. Associations do not create the database tables for you. Instead, you have to create them yourself. What you need to be careful of, is that an Entry model would have a user_id field, in order for the association to fully work. I truly would not want to advertise or anything, but i have created a blog post that can help you quite a lot i think :

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜