Может быть атрибут «ресурс», ожидаемый вспомогательными методами devise, не может быть разрешен ни к какому значению.Кроме того, вы не должны перенаправлять пользователя, а просто отображать домашнюю страницу с ошибками.Я не уверен, как модели передаются при визуализации.
Вы можете иметь custom_devise_error_messages в классе помощника вашей домашней страницы:
def custom_devise_error_messages!
return "" if resource.errors.empty?
messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
sentence = I18n.t("errors.messages.not_saved",
:count => resource.errors.count,
:resource => resource.class.model_name.human.downcase)
html = <<-HTML
<div class="alert alert-error">
<a class="close" data-dismiss="alert">x</a>
<ul style="padding:0; margin: 0; padding-left: 8px;">#{messages}</ul>
</div>
HTML
html.html_safe
end
Кроме того, из вашего метода действия регистрации вместо redirect_to :path_or_url
используйте render :action_name
.