Ruby on rails 设计:在没有密码的情况下在另一个控制器上更新用户
在没有所需密码、密码确认和当前密码的情况下,如何更新我的用户 我正在尝试更新Desive controller外部的用户,我的表单正在使用此帮助程序:Ruby on rails 设计:在没有密码的情况下在另一个控制器上更新用户,ruby-on-rails,devise,Ruby On Rails,Devise,在没有所需密码、密码确认和当前密码的情况下,如何更新我的用户 我正在尝试更新Desive controller外部的用户,我的表单正在使用此帮助程序: module ContentHelper def resource_name :user end def resource @resource ||= User.new end def devise_mapping @devise_mapping ||= Devise.mappings[:user]
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 %>
您只需编写自己的控制器,即可根据需要更新用户。差不多
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
class UserController
我会成功的。你不需要把当前用户
看作是某种神奇的发明,而是把它当作你拥有的任何其他模型来使用
若你们无论如何都希望使用Desive controller来实现这一点,你们应该看到答案 您只需编写自己的控制器,即可根据需要更新用户。差不多
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
class UserController
我会成功的。你不需要把当前用户
看作是某种神奇的发明,而是把它当作你拥有的任何其他模型来使用
若你们无论如何都希望使用Desive controller来实现这一点,你们应该看到答案