如何建立一对多关系?
我有以下模型:
User (id, name, network_id)
Network(id, title)
我需要添加什么样的 Rails 模型关联才能执行此操作:
@user.network.title
@network.users
谢谢
I have the following models:
User (id, name, network_id)
Network(id, title)
What kind of Rails model assoc do I need to add so that I can do:
@user.network.title
@network.users
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
因此网络
has_many
个用户和一个用户belongs_to
网络。如果您还没有添加
network_id
到用户表中,那么只需添加一个network_id
即可,而且由于它是一个foreign_key
值得为其建立索引。rails生成迁移AddNetworkIdToUsers
在网络模型中执行:
在用户模型中执行:
so network
has_many
users and a userbelongs_to
network.Just add a
network_id
to users table if you still haven't and also since it's aforeign_key
is worth indexing it.rails generate migration AddNetworkIdToUsers
In the network model do:
In the user model do:
根据您的数据库设置,您只需将以下行添加到您的模型中:
如果您的设置没有 network_id,您应该使用 daniels 答案。
According to your database-setup, you just have to add the following lines to your models:
In case you have a setup without network_id, you should go with daniels answer.
这是我的方式:
运行:
然后配置迁移文件:
This is my way:
run:
then config migration file: