0

私はactiveadmingemを使用しています:

railsはactive_admin:resourceチームを生成します

railsはactive_admin:resourceプレーヤーを生成します

アプリ/モデル

class Team < ActiveRecord::Base
  has_many :players
  attr_accessible :description, :name
end

class Player < ActiveRecord::Base
  belongs_to :team
  attr_accessible :description, :name
end

app / controller / players_controller

class PlayersController < ApplicationController
    def create
        @team = Team.find(params[:team_id])
        @player = @team.players.create(params[:player])
    end
end

app / admin /

  ActiveAdmin.register Team do
  end

  ActiveAdmin.register Player do
  end

管理インターフェースを使用して新しいプレーヤーを作成しようとすると、次のように表示されます。

ActiveModel :: MassAssignmentSecurity :: Admin :: PlayersController#createのエラー

Can't mass-assign protected attributes: team_id

私はもっ​​と何かをしなければならないことを知っていますが、何ですか?どうもありがとう。

4

1 に答える 1

1

team_idをattr_accessibleに追加する必要があります。

class Player < ActiveRecord::Base
    belongs_to :team
    attr_accessible :description, :name, :team_id
end
于 2012-05-29T19:33:03.397 に答える