Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在Rails 4.0中选择标记和多对多关系_Mysql_Ruby On Rails_Ruby_Ruby On Rails 4 - Fatal编程技术网

Mysql 在Rails 4.0中选择标记和多对多关系

Mysql 在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

在我的项目中,我有两个模型 Employee.rb

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