Ruby On Rails ORM 模型关系
我对 ROR/rake 中如何创建/处理“关系”有点困惑。
谁能确认以下内容是否正确?
- 在数据库迁移文件中编写“插入 xxx 关系”代码。完成后进行迁移。
- 模型文件中最终关系(has_xxx...)中的代码。
如果是这样,ROR 可以根据模型的更改自动生成数据库迁移文件吗?
I'm a bit confused as to how "relationships" are created/processed in ROR/rake.
Can anyone confirm if the following is correct?
- Code the "insert xxx relation" in the DB Migration file. Migrate this once done.
- Code in the final relationship (has_xxx...) in the model file.
If so, can ROR autogen the DB Migration file from changes in the model?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您走在正确的道路上。
在迁移中,使用“t.references”方法。例如:
这将在您的数据库中创建一个“user_id”列。
然后在您的模型中,您使用:
如果您想在模型中使用“has_xxx:widgets”,则小部件数据库表需要“whatever_id”列。
Rails 不会根据您的模型对迁移进行任何更改。 AFAIK,Rails 在创建迁移后永远不会更改它。您将必须手动编写这些关系的代码。
You are on the right path.
In your migration, use the 't.references' method. For example:
This will create a 'user_id' column in your database.
Then in your model, you use:
If you want to use 'has_xxx :widgets' in your model, the widgets database table needs the 'whatever_id' column.
Rails does not make any changes to your migration based on your model. AFAIK, Rails will never change your migration after you create it. You are going to have to code these relationships by hand.