簡體   English   中英

設計:覆蓋Recaptchas的Registrations Controller中的create操作

[英]Devise: Overriding create action in Registrations Controller for Recaptcha

我試圖從Devise中的Registrations Controller中覆蓋create方法,以包括Recaptcha驗證(如此此處所示 ):

class RegistrationsController < Devise::RegistrationsController

  def create
    if verify_recaptcha
      super
    else
      build_resource
      clean_up_passwords(resource)
      flash[:alert] = "Bad words."
      render_with_scope :new
    end
  end

end

還相應地更改了我的route.rb:

  map.devise_for :users, :controllers => {:registrations => "registrations"}, :path_names => {
    :sign_up => 'signup',
    :sign_in => 'login',
    :sign_out => 'logout'
  }

嘗試訪問新的注冊頁面(新路徑名: http:// localhost:3000 / users / signup )時,出現以下錯誤:

LoadError in RegistrationsController#new

Expected /home/benoror/project/app/controllers/registrations_controller.rb to define RegistrationsController

完全錯誤跟蹤

任何幫助表示贊賞。

順便說一句 ,我正在使用Devise 1.0.11和Rails 2.3.10,謝謝!

您的控制器位於“用戶”模塊中嗎? 如果是這樣,您將需要

class Users::RegistrationsController

  {:registrations =>“用戶/注冊”} 

編輯: 根據JoséValim的說法 ,自定義控制器在Devise 1.1之前不起作用。 沒有理由在<Rails 3 imho上進行開發。 抱歉,我在原始帖子中錯過了這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM