2016-04-12 58 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