如何在没有所需密码,密码确认和当前密码的情况下更新我的用户?
我正在尝试更新设备控制器外的用户,我的表单正在使用这个帮助器:
ImageView
和我的编辑表格:
module ContentHelper
def resource_name
:user
end
def resource
@resource ||= User.new
end
def devise_mapping
@devise_mapping ||= Devise.mappings[:user]
end
end
出现这种情况,我无法将密码留空并重定向到用户编辑页面:
<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put, multipart: true }) do |f| %>
<%= devise_error_messages! %>
<%= f.file_field :personal_file, placeholder: "Upload file" %>
<%= f.submit %>
<% end %>
答案 0 :(得分:0)
您可以编写自己的控制器,根据需要更新用户。像
这样的东西class UserController < ApplicationController
before_filter :authenticate_user!
def update
current_user.update(user_params)
end
private
def user_params
params.require(:user).permit(:personal_file)
end
end
会做到这一点。您不需要将current_user
视为一些神奇的设计,而是将其用作您拥有的任何其他模型。
如果您仍然希望使用Devise控制器执行此操作,您应该看到this回答。