Mysql 在Rails 4.0中选择标记和多对多关系
在我的项目中,我有两个模型 Employee.rbMysql 在Rails 4.0中选择标记和多对多关系,mysql,ruby-on-rails,ruby,ruby-on-rails-4,Mysql,Ruby On Rails,Ruby,Ruby On Rails 4,在我的项目中,我有两个模型 Employee.rb class Employee < ActiveRecord::Base has_many :shop .. .. .. end class Employee
class Employee < ActiveRecord::Base
has_many :shop
..
..
..
end
class Employee
和Shop.rb
class Shop < ActiveRecord::Base
has_many :employees
..
..
..
end
class-Shop
我不确定这种关系是否正确。工作应该是这样的。
员工获得了一个外键employeeID
,该外键用于许多表中。。
如果一名员工拥有4个以上的店铺,那么同一名员工的4个条目将出现在employee表中(employeeID将与所有人相同),依此类推。
现在我的问题是我有一个更新员工详细信息的表单。表单用于创建和编辑员工详细信息。
我想在这张表格里放一个显示所有商店的选择标签。在编辑页面上,应预选属于用户的店铺
如何做到这一点?帮助您应该使用关联:
--
拥有并属于许多人
这将意味着创建一个新表:
#employees_shops
employee_id | shop_id
然后,您可以使用has\u和\u beliens\u to \u 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
这被称为has,属于many(HABTM)关系,包含在a中。
@shop.employees.each do |employee|
employee.name
end