清除Gem以加密格式创建用户登录密码

时间:2015-01-19 16:42:34

标签: ruby ruby-on-rails-4 clearance

我正在尝试编写一个rails应用程序来创建用于评估的面板成员,因此在创建新面板时我还想创建面板成员作为系统的用户。

目前我的Panel Controller创建看起来像

def create
@member = Member.new(member_params)
email_exists =  @member.email

respond_to do |format|
  if User.exists?(:email => email_exists) & Member.exists?(:email => @member.email)
    format.html { redirect_to new_member_path, alert: 'Panel Member is already enrolled' }
  else
    if @member.save
      format.html { redirect_to @member, notice: 'Member was successfully created.' }
      format.json { render :show, status: :created, location: @member }
    else
      format.html { render :new }
      format.json { render json: @member.errors, status: :unprocessable_entity }
    end
  end
end
end

我的会员模型看起来像

before_create :user_create

def user_create
    User.create(email: self.email, encrypted_password: "foobar") unless User.exists?(:email => self.email)
end

我也想创建用户,但问题是密码保持未加密,我想以加密格式存储密码“foobar”。

如果这不符合问题指南,请道歉,这是我的第一个问题。 PS:我也是业余爱好者。

1 个答案:

答案 0 :(得分:0)

我想出来了,而不是encrypted_pa​​ssword:我使用了密码:在保存期间,它被保存为加密值。