0

作成アクションを機能させるために何をする必要がありますか?

has_and_belongs_to_many 関連付けを持つテーブルがあります。「新しい」ページは正常に動作しますが、itens を選択して保存しようとするとエラーが発生します。

保護された属性を一括割り当てできません: book_id

私は設定しようとしました:

config.active_record.whitelist_attributes = false

でも何も変わらなかった

私のモデル:

class Book < ActiveRecord::Base
  has_and_belongs_to_many :orbs

  attr_accessible :dataf, :datai, :descr, :nome

  validates :nome, uniqueness: true, presence: true
end

class Orb < ActiveRecord::Base
  belongs_to :orb_type
  has_and_belongs_to_many :books

  attr_accessible :descr, :nome, :orb_type_id

  validates :nome, uniqueness: true, presence: true
end

私のコントローラー:

  def create
    @orb = Orb.new(params[:orb])

    respond_to do |format|
      if @orb.save
        format.html { redirect_to @orb, notice: 'Orb was successfully created.' }
        format.json { render json: @orb, status: :created, location: @orb }
      else
        format.html { render action: "new" }
        format.json { render json: @orb.errors, status: :unprocessable_entity }
      end
    end
  end

また、「編集」を押したときにオートボックスがチェックされるようにするために何をしなければならないか、誰でも教えてくれます。私はレールに慣れていません。どうも!

編集: attr_accessible :book_id を orb モデルに追加すると、エラーが発生します:

unknown attribute: book_id

<< 操作でコンソール上で動作しました。

4

1 に答える 1

0

モデル Orb で book_id をアクセス可能として宣言する必要があります

attr_accessible :descr, :nome, :orb_type_id, :book_id

オブジェクトを編集するとき、ブール値のチェックボックスの名前が正しい場合 (db フィールドと同じ)、その値に基づいてチェックされているかどうかがビューに表示されます。

于 2013-09-17T19:14:15.743 に答える