Вы должны иметь возможность установить переменную сеанса, используя этот синтаксис.
undefined method 'stringify_keys'
- это , а не из-за того, что вы задали переменную сеанса, скорее, это конструкция параметров POST из вашего объекта @category
. Объект @category
уже был сохранен; post
ожидает хеш.
Правильная отправка параметров сообщения исправит это:
@category = Factory.attributes_for(:category)
Ваш тест начал давать сбой, когда вы добавили строку сеанса, потому что ваш контроллер будет пытаться сохранить только когда этот сеанс var установлен. Без сеанса var create
ничего не делает, но ваша строка Factory
уже сохранила строку. Это ложный «пас».