Возможно, вы захотите поискать некоторые учебные пособия, чтобы хотя бы провести вас через этот процесс, вы лучше почувствуете правильность кодирования рельсов.
В основном ваша проблема заключается в том, что вы не выполняете проверку, чтобы убедиться, подтвержден ли пользователь при входе в систему.Одним из способов было бы добавить это в ваш метод создания сеанса.
if user && user.confirmed?
Лучшее решение, хотя, вероятно, это использовать фильтры, подобные этому
before_filter :authenticate, :only => [:new, :create, :edit, :destroy]
Тогда у вас есть метод authenticate
который проверяет текущего пользователя, а затем имеет логику, которая говорит, что current_user может быть только подтвержденным пользователем.Это проверит, что пользователь действителен на всех страницах, которые ему нужны, а не только при входе в систему.