使用Devise自定义注册控制器丢失模板

Lea*_*RoR 2 ruby-on-rails devise ruby-on-rails-3

当使用recaptcha for Devise时,我必须创建一个新的自定义注册控制器,我的问题是,当它们是电子邮件,密码或密码确认的错误时,我得到一个丢失的模板错误,因为它击中了一条甚至不存在的路由.

Template is missing

Missing template registrations/new
Run Code Online (Sandbox Code Playgroud)

recaptcha会自行处理错误并返回到同一页面,但不会返回其他页面.

class RegistrationsController < Devise::RegistrationsController

  def create
    if verify_recaptcha
        super
    else
        flash.delete :recaptcha_error
        build_resource
        clean_up_passwords(resource)
        flash[:alert] = "There was an error with the recaptcha code below."
        render :template => '/devise/registrations/new'  
    end
  end
end

devise_for :users, :controllers => { :registrations => "registrations" }
Run Code Online (Sandbox Code Playgroud)

它应该是recaptcha对错误的同一页面('/devise/registrations/new')如何纠正这个问题?

谢谢.

cai*_*nne 7

尝试将模板从/views/devise/registrations只移动到/views/registrations.(并将代码中的引用从/ devise/registrations/new更改为just/registrations/new.)