Ruby on rails Rails Hartl-第13章(表“micropost”中没有名为“micropost”U 0的列)

Ruby on rails Rails Hartl-第13章(表“micropost”中没有名为“micropost”U 0的列),ruby-on-rails,sqlite,Ruby On Rails,Sqlite,我有两种错误。 所有迁移都已完成。 有什么想法吗 1. 错误: 用户显示测试测试显示未激活用户不应显示: ActiveRecord::Fixture::FixtureError:表“micropost”没有名为“micropost\u 0”的列 2. 用户显示测试测试显示未激活用户不应显示: NoMethodError:nil:NilClass的未定义方法“each” YML文件对空格非常敏感。您缩进了micropost:行。如果您按照以下方式编写该部分,它应该可以工作: <% 30.ti

我有两种错误。 所有迁移都已完成。 有什么想法吗

1. 错误:

用户显示测试测试显示未激活用户不应显示: ActiveRecord::Fixture::FixtureError:表“micropost”没有名为“micropost\u 0”的列

2. 用户显示测试测试显示未激活用户不应显示: NoMethodError:nil:NilClass的未定义方法“each”


YML文件对空格非常敏感。您缩进了
micropost:
行。如果您按照以下方式编写该部分,它应该可以工作:

<% 30.times do |n| %>
micropost_<%= n %>:
  content: <%= FFaker::LoremRU.sentence %>
  created_at: <%= 40.days.ago %>
  user: mike
<% end %>  

micropost:
内容:
创建于:
用户:迈克

有效!谢谢你:)
orange: 
  content: "I hate orange"
  created_at: <%= 10.minutes.ago %>
  user: mike

cat: 
  content: "I hate dogs"
  created_at: <%= "12.minutes.ago" %>
  user: mike

dog:
  content: "I hate cats"  
  created_at: <%= "20.minutes.ago" %>
  user: mike

most_recent: 
  content: "Just a short test"
  created_at: <%= Time.zone.now %>  
  user: mike

<% 30.times do |n| %>
  micropost_<%= n %>:
    content: <%= FFaker::LoremRU.sentence %>
    created_at: <%= 40.days.ago %>
    user: mike
<% end %>  
ActiveRecord::Schema.define(version: 20170426135432) do

  create_table "microposts", force: :cascade do |t|
    t.text     "content"
    t.integer  "user_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["user_id", "created_at"], name: "index_microposts_on_user_id_and_created_at"
    t.index ["user_id"], name: "index_microposts_on_user_id"
  end
<% 30.times do |n| %>
micropost_<%= n %>:
  content: <%= FFaker::LoremRU.sentence %>
  created_at: <%= 40.days.ago %>
  user: mike
<% end %>