更新:申し訳ありません。この問題を解決しようと何時間も試みた結果、頭がおかしくなってしまいました。もちろん、「HABTM Checkboxes」railscast は、この投稿に対する正解でした。ダニーが言ったように。ありがとうございました。
Ruby と Rails に取り組んでいるのですが、解決できない問題があります。
データベースにはemployees
、 、departments
、および join-tableという 3 つのテーブルがあります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"}])
しかし、これは従業員と部門の両方を作成します。
それを行うための魔法はここにありますか?