我不想在设计中更改密码选项(编辑注册)。 相反,我想添加一个链接或表格,用于在单独的页面中更改密码。 谁能帮我!!
使用简单的 CRUD 方法,这很容易做到。为您的用户创建一个编辑视图,使用针对 Devise 密码字段的 Rails 表单。
edit.html.erb(在视图的用户文件夹中):
<%= form_for(@user) do |f| %>
<%= f.label :password %>
<%= f.text_field :password %>
<%= f.label :password_confirmation %>
<%= f.text_field :password_confirmation %>
<%= f.submit %>
<% end %>
在用户控制器中:
def edit
@user = User.find(params[:id])
end
def update
@user = User.find(params[:id])
if @user.update(user_params)
redirect_to @user, notice: 'User was successfully updated.'
else
render :edit
end
end
private
def user_params
params.require(:user).permit(:password, :password_confirmation)
end
确保在你的config/routes.rb文件中也有resources :users
指向编辑视图的链接如下所示:
<%= link_to 'Edit User', edit_user_path %>