Ruby on rails 设计:在没有密码的情况下在另一个控制器上更新用户

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]

在没有所需密码、密码确认和当前密码的情况下,如何更新我的用户

我正在尝试更新Desive controller外部的用户,我的表单正在使用此帮助程序:

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来实现这一点,你们应该看到答案