2013-07-08 22 views
7

Bir ray 4 kullanımım var. Kullanıcıların kendileriyle ilişkili bir kullanıcı adına sahip olmasına izin vermeye çalışıyorum.Rayları oluşturmak için kullanıcı adı ekleme 4

Ben Kullanıcılar tabloya bir kullanıcı adı (string) sütunu eklendi ve bunun gibi benim Uygulama kontrolör göz yaşadım

:

class ApplicationController < ActionController::Base 

    before_filter :configure_permitted_parameters, if: :devise_controller? 
    protect_from_forgery with: :exception 
    protected 
    def configure_permitted_parameters 
     devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :email) } 
    end 

end 

ve ben de kullanıcılara kullanıcı adı için bir alan ekledik/sign_up sayfası.

Ama bu hatayı alıyorum: Yani temelde benim soru neden bu hata göründüğünü edilir

undefined local variable or method `devise_parameter_sanitizer' for #<Devise::RegistrationsController:0x00000101378a28> 

veya başka nasıl bir kullanıcı adı almak için bir kullanıcı alabilirim?

Yardımlarınız için teşekkürler!

cevap

16

Yalnızca oturum açma yönteminde kullanıcı adına izin verilmesine izin veriyorsunuz, ancak yeni bir kullanıcı oluşturduğunuzda varsayım var, kayıt yönteminde. Yani bu deneyin:

def configure_permitted_parameters 
    devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email, :password, :password_confirmation) } 
end 

Kaynak: çalışmıştır https://github.com/plataformatec/devise#strong-parameters

+0

teşekkürler. – infinity

+1

Bunu application_controller uygulamasında yapıyorum ve kayıt ve giriş yapabilmem mümkün (kayıttan hemen sonra). Ancak giriş sayfasından giriş yapamıyorum. Kullanıcı adı için giriş/kimlik doğrulama anahtarı kurulumum var ve veritabanında kullanıcı adı ve şifre alanım var. Herhangi bir ipucu? İşte benim sorunumun daha ayrıntılı bir versiyonudur - http://stackoverflow.com/questions/18804971/devise-rails-4-not-able-to-login –

İlgili konular