Rails 4 simple_form has_many通过复选框不保存

我正在尝试使用simple_form通过复选框实施员工经常扣减表。 我的代码有效,但所选的经常扣减不会保存在我的表格中。 我无法理解为什么。

这是我的模特。

class Employee  :employee_recurrents end class Recurrent  :employee_recurrents end class EmployeeRecurrent < ActiveRecord::Base belongs_to :employee belongs_to :recurrent end 

移民

 class CreateEmployeeRecurrents  false do |t| t.references :employee t.references :recurrent end add_index :employee_recurrents, [:employee_id, :recurrent_id] add_index :employee_recurrents, [:recurrent_id, :employee_id] end end 

形成

        

调节器

 def employee_params params.require(:employee).permit(:first_name, :recurrent_ids) end 

这是我编辑的日志

 Started PATCH "/employees/1" for 127.0.0.1 at 2013-08-12 19:38:42 +0800 Processing by EmployeesController#update as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"IwWzcT2qQJqHkTumWjb3OD5nJe9xLaA+YezMumer9X8=", "employee"=>{"job_id"=>"5", "manager_id"=>"", "first_name"=>"Mark", "recurrent_ids"=>["1", ""]}, "commit"=>"Update Employee", "id"=>"1"} [1m[36mActiveRecord::SessionStore::Session Load (1.2ms)[0m [1mSELECT "sessions".* FROM "sessions" WHERE "sessions"."session_id" = '9a8b066a4033f8fa2ed867371ffaa2a3' ORDER BY "sessions"."id" ASC LIMIT 1[0m [1m[35mUser Load (0.5ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1 [1m[36mEmployee Load (0.8ms)[0m [1mSELECT "employees".* FROM "employees" WHERE "employees"."id" = $1 ORDER BY last_name, first_name LIMIT 1[0m [["id", "1"]] Unpermitted parameters: recurrent_ids [1m[35m (0.6ms)[0m BEGIN [1m[36mEmployee Exists (1.1ms)[0m [1mSELECT 1 AS one FROM "employees" WHERE ("employees"."email" = 'mark@yahoo.com' AND "employees"."id" != 1 AND "employees"."club_id" = 1) LIMIT 1[0m [1m[35m (0.4ms)[0m COMMIT Redirected to http://localhost:3000/employees Completed 302 Found in 22ms (ActiveRecord: 4.6ms) 

我需要以下强大的参数

 def employee_params params.require(:employee).permit(:first_name, :recurrent_ids => []) end