我正在尝试编写一个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:我也是业余爱好者。
答案 0 :(得分:0)
我想出来了,而不是encrypted_password:我使用了密码:在保存期间,它被保存为加密值。