Rails Test error ActiveRecord :: Fixture :: FixtureError - PullRequest
0 голосов
/ 16 февраля 2019

Я сейчас изучаю Rails Tutorial.Когда я проводил тестирование рельсов в главе 10. Я получил эту ошибку.Я мог бы сделать много поддельных пользователей ruby ​​gem 'faker'.однако, кажется, что у db нет lana из users.yml.Я думаю, что это причина, почему ошибка произошла, когда я сделал тест рельсов

UsersControllerTest#test_should_get_new:
ActiveRecord::Fixture::FixtureError: table "users" has no column named "lana".

Я приказал

rails db:reset
rails db:seed

test / fixtures / users.yml

michael: 
  name: Michael Example
  email: michael@example.com
  password_digest: <%= User.digest('password') %>
  admin: true
  activated: true
  activated_at: <%= Time.zone.now %>

archer:
  name: Sterling Archer
  email: duchess@example.gov
  password_digest: <%= User.digest('password') %>
  activated: true
  activated_at: <%= Time.zone.now %>

  lana:
  name: Lana Kane
  email: hands@example.gov
  password_digest: <%= User.digest('password') %>
  activated: true
  activated_at: <%= Time.zone.now %>

malory:
  name: Malory Archer
  email: boss@example.gov
  password_digest: <%= User.digest('password') %>
  activated: true
  activated_at: <%= Time.zone.now %>

<% 30.times do |n| %>
user_<%= n %>:
  name:  <%= "User #{n}" %>
  email: <%= "user-#{n}@example.com" %>
  password_digest: <%= User.digest('password') %>
  activated: true
  activated_at: <%= Time.zone.now %>
<% end %>

журнал ошибок

  1) Error:
UsersEditTest#test_successful_edit_with_friendly_forwarding:
ActiveRecord::Fixture::FixtureError: table "users" has no column named "lana".


Error:
UsersEditTest#test_successful_edit_with_friendly_forwarding:
NoMethodError: undefined method `each' for nil:NilClass


  2) Error:
UsersEditTest#test_unsuccessful_edit:
ActiveRecord::Fixture::FixtureError: table "users" has no column named "lana".


Error:
UsersEditTest#test_unsuccessful_edit:
NoMethodError: undefined method `each' for nil:NilClass

Не могли бы вы датьМне совет, чтобы решить это, пожалуйста?

1 Ответ

0 голосов
/ 16 февраля 2019

Ваш абзац неправильный, измените раздел lana для этого:

archer:
  name: Sterling Archer
  email: duchess@example.gov
  password_digest: <%= User.digest('password') %>
  activated: true
  activated_at: <%= Time.zone.now %>

lana:
  name: Lana Kane
  email: hands@example.gov
  password_digest: <%= User.digest('password') %>
  activated: true
  activated_at: <%= Time.zone.now %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...