0

現在、私はRubyonRailsプロジェクトで立ち往生しています。レール3.2を使用しています

人間のフォームでスキルのチェックボックスを作成できましたが、human_skillsテーブルの「for_work」ブール値を変更できるフォーム入力を作成する方法がわかりません。

したがって、私の目標は、ユーザーが新しい人間を作成したり、人間を編集したりするときに、スキルを選択して、スキルが仕事用かどうかを判断できるようにすることです(ブール値)。

よろしくお願いします!

Here is my Human form code

    = semantic_form_for @human do |f|
    = f.input :name 
    = f.input :skills , :as => :check_boxes,

データベース設計

スキル-ID、名前

human_skills -id、skills_id、human_id、for_work

人間-id、name

これが私のモデルコードです:

class Human < ActiveRecord::Base
  has_many :human_skills;
  has_many :skills, :through => :human_skills

class HumanSkill< ActiveRecord::Base
    belongs_to :human_skills;
    belongs_to :human;

class Skill < ActiveRecord::Base
  has_many :human_skills;
  has_many :human, :through => :human_skills
4

1 に答える 1

1

では、人間がスキルを作成できるようにモデルを少し調整する必要があります。次に、fields_for を使用して form_for ヘルパーが別のモデルにあることを認識できるようにします。

class Human < ActiveRecord::Base
  has_many :human_skills;
  has_many :skills, :through => :human_skills

  accepts_nested_attributes_for :skills

class HumanSkill< ActiveRecord::Base
    belongs_to :human_skills;
    belongs_to :human;

class Skill < ActiveRecord::Base
  has_many :human_skills;
  has_many :human, :through => :human_skills

そしてフォーム

 = semantic_form_for @human do |f|
    = f.input :name 
    = fields_for @human.skills do |h_skills|
      = h_skills.checkbox :skills 

質問に答えるためにチェックアウトするリソース: Accepts Nested Attributes = Accepts_nested_attributes_for Fields ドキュメントの場合: Fields_for Nested Form ビデオRailscast

于 2012-07-24T13:52:34.283 に答える