gpt4 book ai didi

mysql - 在 Rails 4.0 中选择标签和多对多关系

转载 作者:行者123 更新时间:2023-11-29 00:12:05 24 4
gpt4 key购买 nike

在我的项目中,我有 2 个模型员工.rb

class Employee < ActiveRecord::Base
has_many :shop
..
..
..
end

和 Shop.rb

class Shop < ActiveRecord::Base
has_many :employees
..
..
..
end

我不确定这种关系是否正确。工作应该是这样的。Employee 得到了一个外键 employeeID ,它在许多表中使用..如果一个员工拥有超过 4 个商店,那么同一员工的 4 个条目将在员工表中(所有员工的 employeeID 都相同)等等。现在我的问题是我有一个更新员工详细信息的表格。表单用于创建和编辑员工详细信息。我想在此表单中放置一个显示所有商店的选择标签。在编辑页面上,应预先选择属于用户的商店..

如何做到这一点?帮助

最佳答案

你应该使用 has_and_belongs_to_many协会:

enter image description here

--

拥有并属于许多人

这将意味着创建一个新表:

#employees_shops
employee_id | shop_id

然后您可以使用 has_and_belongs_to_many 声明关联这两个模型:

#app/models/employee.rb
Class Employee < ActiveRecord::Base
has_and_belongs_to_many :shops
end

#app/models/shop.rb
Class Shop < ActiveRecord::Base
has_and_belongs_to_many :employees
end

这将允许您调用:

@shop.employees.each do |employee|
employee.name
end

关于mysql - 在 Rails 4.0 中选择标签和多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24603014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com