ActiveModel :: UnknownAttributeError:未知属性' status'用于录制

时间:2017-05-15 17:08:10

标签: ruby-on-rails rails-api

当我写入cmd" rake db:seed"时,我收到此错误:

  

rake aborted!

     

ActiveModel :: UnknownAttributeError:未知属性' status'用于录制。   G:/program/Rails/weather/db/seeds.rb:2:在`'   任务:TOP => DB:种子   (通过使用--trace运行任务查看完整跟踪)

这是我的#34; seeds.rb"代码

`l = Location.create(name: "New York City")
 l.recordings.create(temp: 32, status: "cloudy")
 l.recordings.create(temp: 34, status: "rainy")
 l.recordings.create(temp: 30, status: "rainy")
 l.recordings.create(temp: 28, status: "cloudy")
 l.recordings.create(temp: 22, status: "sunny")`

3 个答案:

答案 0 :(得分:0)

您获得UnknownAttributeError,因为您的“记录”表格中没有列。您是否已生成状态列?如果没有,您可以rails generate migration AddStatusToPRecordings status:string。然后执行rake db:migrate

答案 1 :(得分:0)

您在status模型的迁移中缺少Recording属性。

从终端执行以下步骤:

# add `status` column in `recordings` table
rails generate migration AddStatusToRecording status:string
rake db:migrate

# seed the data into the db
rake db:seed

希望它会有所帮助。

答案 2 :(得分:0)

如果我们错过了要在数据库中插入字段并在代码中使用的字段,则会出现此问题。这是显示此问题的唯一条件。

创建迁移脚本

bin/rails generate migration addStatusToReceiptItems

class AddStatusToReceiptItems < ActiveRecord::Migration
  def change
    add_column :receipt_items, :status, :boolean
  end
end

然后运行命令

rake db:migrate