2016-04-12 102 views
1

可以說,如果我想爲用戶創建並設置默認密碼,同時在管理中創建它們。如何在rails強參數中添加默認數據?

,我想這樣做,

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

我使用魔法進行用戶認證。 我有一種感覺,這是完全錯誤的方式,但我該怎麼做呢?

+0

老實說,我不認爲這是其中默認PARAMS屬於。如果不在數據庫模式中,它們屬於模型。 – Almaron

回答

0

合併他們後

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

或者,如果你需要的只是一個動作(創建例如)

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