Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/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
Ruby on rails 3 HABTM:创建并链接到现有数据_Ruby On Rails 3_Has And Belongs To Many - Fatal编程技术网

Ruby on rails 3 HABTM:创建并链接到现有数据

Ruby on rails 3 HABTM:创建并链接到现有数据,ruby-on-rails-3,has-and-belongs-to-many,Ruby On Rails 3,Has And Belongs To Many,更新:非常抱歉。我花了好几个小时试图解决这个问题,这使我的头脑发昏。当然,“HABTM复选框”railscast是这篇文章的正确答案。正如丹妮所说。多谢各位 我正在学习Ruby和Rails,遇到了一个无法解决的问题 我在数据库中有三个表:employees、departments,以及join表departments\u employees 我使用的具有和\u属于\u多个关系: #models/employee.rb class Employee < ActiveRecord::Base

更新:非常抱歉。我花了好几个小时试图解决这个问题,这使我的头脑发昏。当然,“HABTM复选框”railscast是这篇文章的正确答案。正如丹妮所说。多谢各位


我正在学习Ruby和Rails,遇到了一个无法解决的问题

我在数据库中有三个表:
employees
departments
,以及join表
departments\u employees

我使用的
具有和\u属于\u多个
关系:

#models/employee.rb
class Employee < ActiveRecord::Base
   has_and_belongs_to_many :departments
   accepts_nested_attributes_for :departments, :allow_destroy => true
   attr_accessible :last_name, :first_name, :middle_name, :departments_attributes
end

# models/department.rb
class Department < ActiveRecord::Base
  has_and_belongs_to_many :employees
  attr_accessible :title
end
但这同时创造了员工和部门


这里有什么魔法可以做到这一点吗?

一种方法是删除

accepts_nested_attributes_for
创建一个控制器和视图以输入部门(您可以构建此框架),并使用habtm创建雇主并通过复选框为他们分配部门


对于habtm,请看一下为什么一名员工有多个部门?因为一名员工可以同时在多个部门工作。
accepts_nested_attributes_for