Если бы это работало, а сейчас - нет, я бы сказал, что вы, возможно, внесли какую-то ошибку в вашу пост-модель.Трудно сказать без обратного следа и кода из вашей пост-модели, но если вы запустили один и тот же код в вашей консоли, вы получите ту же ошибку?
post = Post.new(:body=>"Some content")
post.save
Оттуда вы должны получитьобратная трассировка и место для поиска ошибки.
РЕДАКТИРОВАТЬ:
Затем я попытался бы запустить грабли с флагом --trace
, чтобы получить обратную трассировку.
Другая мысльУ меня было то, что это может быть чем-то вроде обезьяньей заплатки.Я не вижу ничего о том, чтобы тестовый модуль изменил метод assert, чтобы принять хеш в качестве второго аргумента.
сначала зайдите в консоль и введите assert false, "error message"
, и вы должны получить ошибку no method.Если вы получите другой ответ, то вам нужно найти, где может быть метод assert, в противном случае - попробуйте следующее:
require 'test/unit'
include Test::Unit::Assertions
assert false, "error message"
Вы должны увидеть:
Test::Unit::AssertionFailedError: this is a message.
<false> is not true.
В противном случае, я бытакже попробуйте удалить сообщение в конце вашего утверждения и посмотреть, если вы получите ту же ошибку.