我正在尝试编写一个 rails 应用程序,该应用程序将创建用于评估的小组成员,因此当创建新小组时,我还想将小组成员创建为系统用户。
目前我的面板控制器创建看起来像
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"。
抱歉,如果这不符合问题指南,这是我第一次在 SO 上。PS:我也是RoR业余爱好者。
我想
通了,而不是encrypted_password:我使用了密码:在保存期间它被保存为加密值。