class PlayerProfile < ActiveRecord::Base
  has_many :playing_roles
  has_many :player_roles, through: :playing_roles
  accepts_nested_attributes_for :playing_roles, :allow_destroy => true
end
class PlayingRole < ActiveRecord::Base
      belongs_to :player_roles
      belongs_to :player_profile
 end
class PlayerRole < ActiveRecord::Base
  has_many :playing_roles
  has_many :player_profiles, through: :playing_roles
end 
架构.rb
    create_table "player_profiles", force: true do |t|
    t.integer  "user_id"
    t.string   "firstname"
    t.string   "lastname"
    t.date     "birthdate"
    t.string   "favorite_team"
    t.string   "mobile"
    t.string   "address"
    t.string   "lang"
    t.string   "team"
    t.integer  "weight"
    t.integer  "height"
    t.text     "biography"
    t.string   "idols"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.string   "nationality"
  end
  add_index "player_profiles", ["user_id"], name: "index_player_profiles_on_user_id", using: :btree
  create_table "player_roles", force: true do |t|
    t.string "name"
  end
  create_table "playing_roles", force: true do |t|
    t.integer  "player_profile_id"
    t.integer  "player_role_id"
    t.datetime "created_at"
    t.datetime "updated_at"
  end
我需要为玩家可以扮演的每个角色显示复选框。选中的复选框表示“playing_roles”relashionship 的记录
使用collection_check_boxes:在 Rails4 中
更新
如果我使用:playing_role_ids我得到这个错误:
<%=collection_check_boxes(:player_profile, :playing_role_ids, PlayerRole.all, :id, :name)%>     

似乎它正在寻找关系上的记录,但如果记录不存在则意味着不存在关系并且必须取消选中该复选框。