2

我正在为我的一张表创建种子数据,每当我运行 rake db:seed 时,它都会给我错误:

无法批量分配受保护的属性:严重性

我的两个模型看起来像

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_accesible 行的 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 回答