2

テーブルの 1 つにシード データを作成していますが、rake db:seed を実行するたびに次のエラーが表示されます。

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

私の2つのモデルは次のように見えます

class Status < ActiveRecord::Base
  belongs_to :severity
  attr_accessible :description, :image, :name, :slug, :severity_id
end

class Severity < ActiveRecord::Base
  attr_accessible :name, :val, :severity_id
end

私がシードしようとしているデータは

statuses = Status.create(
  [
    {
      "name"=> 'Normal', 
      "slug"=> 'normal', 
      "description"=> 'The service is up or was up during this entire period', 
      "severity"=> 1,
      "image"=> 'tick-circle'
    }
  ]
)

なぜこれが起こるのですか?

4

3 に答える 3

5

attr_accessible 行の Severity モデルに :severity を追加する必要があります。Railsは、データベースにあると思われる名前で属性を割り当てようとしています。

于 2013-05-11T02:10:20.880 に答える
2
attr_accessible :severity

セクション 6: 一括割り当て http://guides.rubyonrails.org/security.html

于 2013-05-11T02:26:47.983 に答える
1

あなたのシードは と言っseverityていますが、あなたのアクセサは と言っていますseverity_id。それで、それはどれですか?

于 2013-05-11T02:27:12.223 に答える