2016-04-12 7 views
1

Lets sagen, wenn ich Standard-Passwort für Benutzer generieren und festlegen, während sie in Admin erstellen möchten.Wie füge ich Standarddaten in Schienen starken params hinzu?

und ich möchte, um so etwas tun,

def user_params 
    params.require(:user).permit(:first_name, :last_name, :email, :password=> @default_generated_password, :password_confirmation => @default_generated_password) 
end 

ich Zauberei für Benutzerauthentifizierung verwenden. Ich habe das Gefühl, dass dies völlig falsch ist, aber wie mache ich das?

+0

Ehrlich gesagt glaube ich nicht, es ist, wo gehören Standard Parameter. Sie gehören entweder in das Modell, wenn nicht in das Datenbankschema. – Almaron

Antwort

0

sie nach

params 
.require(:user) 
.permit(:first_name, :last_name) 
.merge(password: @default_generated_password, password_confirmation: @default_generated_password) 

Merge in Oder wenn Sie es nur in einer gemeinsamen Aktion (erstellen zum Beispiel) benötigen

def create 
    # password generation code... 
    # ... 

    @user = User.new(user_params.merge(password: @default_generated_password, password_confirmation: @default_generated_password)) 

    if @user.save 
    redirect_to ... 
    else 
    flash[:error] = "Did not save" 
    render :new 
    end 
end 

private 

def user_params 
    params.require(:user).permit(:first_name, :last_name) 
end 
Verwandte Themen