Почему идентификатор пуст при использовании метода create в spec-файле? - PullRequest
1 голос
/ 05 ноября 2011

У меня есть следующий код в micropost_spec.rb:

  before(:each) do
    @user = Factory :user
    @attr = { :paragraphs => 4, :characters => 1000, :summary => "Recap of Event" }
  end

  it "should create a new instance given valid attributes" do
    @user.microposts.create!(@attr)
  end

И когда я запускаю свои тесты, я получаю следующую ошибку:

  Failure/Error: @user.microposts.create!(@attr)
  ActiveRecord::RecordInvalid:
     Validation failed: Id can't be blank

Можно ли увидеть, установлен ли id внутри консоли rails?

1 Ответ

3 голосов
/ 05 ноября 2011

Ваша модель, вероятно, пытается проверить, что id присутствует с чем-то вроде validates_presence_of :id или validates :id, :presence => true. Вы не должны этого делать, поскольку проверки новых записей всегда выполняются до , запись сохраняется в базе данных и ей присваивается идентификатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...