2016-04-21 9 views
1

Wie kann ich meinen Benutzer ohne das erforderliche Passwort, die Passwortbestätigung und das aktuelle Passwort aktualisieren?entwickeln: Benutzer auf einem anderen Controller ohne Passwort aktualisieren

Ich versuche, den Benutzer zu aktualisieren außerhalb ersinnen Controller, wird meine Form mit diesem Helfer arbeiten:

module ContentHelper 
    def resource_name 
    :user 
    end 

    def resource 
    @resource ||= User.new 
    end 

    def devise_mapping 
    @devise_mapping ||= Devise.mappings[:user] 
    end 
end 

und meine Form für die Bearbeitung:

<%= 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 %> 

Damit seine dass ich erscheinen kann nicht mein Passwort leer und umleiten zu Benutzer bearbeiten Seite:

Antwort

0

Sie können nur Schreiben Sie Ihren eigenen Controller, der Benutzer wie Sie wünschen aktualisiert. Etwas wie

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 

würde den Trick tun. Sie müssen nicht an die current_user als etwas magisches Gerät Ding denken, aber verwenden Sie es stattdessen wie jedes andere Modell, das Sie haben.

Wenn Sie sowieso Devise Controller dazu verwenden möchten, sollten Sie this beantworten.

+0

ok danke! Ich habe es getan – terrorista

Verwandte Themen