可能是“资源”属性由色器件辅助方法预期不能被解析为任意值。此外,你不应该重定向用户,但只是出现错误的主页。我不确定模型在渲染时如何传输。
你可以有一个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
。