2012-01-10 22 views
11

Bana şifre sıfırlama talimatları göndermek için e-postayı gönderdikten sonra ana sayfaya yönlendirmek için Rails uygulamasına ihtiyacım var. Devise, varsayılan olarak e-postayı girdikten sonra formdaki formu oluşturur.Devise şifresi denetleyicisini geçersiz kılmıyor

Devise::PasswordsController'u geçersiz kılmaya çalışıyorum ve redirect_to değerini değiştirmeye çalışıyorum, ancak başarı yok. Aslında, Rails'in dersimi bile aldığını sanmıyorum. Çok aptalca bir hata olabilir ama yarım gün boyunca hiç başarıya ulaşmamıştım.

Parola denetleyicisini here'dan geçersiz kılma fikrini aldım.

devise_for :users, :controllers => {:passwords => "passwords"} 
devise_for :users, :controllers => {:registrations => "registrations"} 
devise_for :users, :controllers => {:sessions => "sessions"} 

ben de aynı app hazırlamak en Registations ve Oturumlar Kontrolörleri geçersiz olduğunu belirtmek istiyorum ve onlar çalışmıyor gibi görünüyor:

class PasswordsController < Devise::PasswordsController 
    protected 
    def after_sending_reset_password_instructions_path_for(resource_name) 
    root_url 
    end 
end 

Routes.rb: Burada

benim denetleyicisi var ince.

+0

Hangi sürümü kullanıyorsunuz? –

+0

Ben 1.5.3 kullanıyorum kullanıyorum – abhijeetmisra

cevap

12

geliştirmektedirler son sürümüne (2.1.2) ile kontrolör geçersiz kılmak mümkün olmalıdır.

class PasswordsController < Devise::PasswordsController 
    def new 
    super 
    end 

    def create 
    ..override method here.. 
    end 
end 

Ve config/routes.rb yılında

: Raylar türetilmiş PasswordsController yerine orijinal birini kullanıyorsa rake routes ile kontrol edebilirsiniz

devise_for :users, controllers: { passwords: 'passwords', .. } 

, yolları örneğin passwords#new yerine devise/passwords#new içermelidir.

3

Sana yolları değişikliklerinizi söylemeyi unutmuşum düşünüyorum:

devise_for :users, :controllers => {:sessions => "sessions", :passwords => "passwords"} 
İlgili konular