当我写入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")`
答案 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