更新:我很抱歉。花了好几个小时试图解决这个问题让我的大脑昏昏欲睡。当然,'HABTM Checkboxes' railscast 是这篇文章的正确答案。正如丹妮所说。谢谢你。
我正在研究 Ruby 和 Rails,但遇到了一个我无法解决的问题。
我在数据库中有三个表:employees
、departments
和 join-table departments_employees
。
我使用has_and_belongs_to_many
关系:
#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
我的问题是我不知道如何创建新员工,将其链接到现有部门,而不是同时创建新部门。
例子:
Employee.create(:last_name => "Smith",
:departments_attributes => [{:title => "IT"}])
但这会创建员工和部门。
这里有什么魔法可以做到这一点吗?