我对RoR很新。我开始注册用户登录,显示和删除,但我不能进行编辑/更新功能。我将发布我的注册函数和我用于注册的html表单,我希望用于EDIT / UPDATE。
注册功能
def register
@name = params[:name]
@surname = params[:surname]
@username = params[:username]
@password = params[:password]
@email = params[:email]
@tel = params[:tel]
@role_id = params[:role_id]
user = User.create_with_password(@name,@surname,@username,@email,@password,@tel,@role_id)
if user
#session[:signed_in] = true
session[:username] = user.username
redirect_to "/menaxhimi_pushimit/index"
else
redirect_to "/menaxhimi_pushimit/index"
end
端
用户模型
def self.create_with_password(name, surname, username, email, password, tel, role_id)
salt = SecureRandom.hex
password_hash = self.generate_hash(password, salt)
self.create(
name: name,
surname: surname,
username: username,
email: email,
salt: salt,
password_hash: password_hash,
tel: tel,
role_id: role_id
)
end
def verify_password(password)
self.password_hash == User.generate_hash(password, self.salt)
end
def self.generate_hash(password, salt)
digest = OpenSSL::Digest::SHA256.new
digest.update(password)
digest.update(salt)
digest.to_s
end
端
我的html表单
<form action='/menaxhimi_pushimit/update' class='validate-form' method='post'>
<input type="name" placeholder="Name" name="name" required />
<input type="surname" placeholder="Surname" name="surname" required />
<input type="username" placeholder="Username" name="username" required />
<input type="password" placeholder="Password" name="password" required />
<input type="email" placeholder="Email" name="email" required />
<input type="tel" placeholder="Tel" name="tel" required />
<input type="Roli" placeholder="Roli" name="role_id" required />
<input type="submit" value="Sign Up" />
</form>
有人可以帮助修改EDIT / UPDATE的寄存器
提前致谢
答案 0 :(得分:1)
使用rails的唯一好处是它的约定,如果你使用它们你不必编写自己的自定义代码。你需要谷歌并使用rails-4学习基本的CRUD操作。
以下是Demo用户身份验证应用的链接。您可以按照此代码自行创建。