2013-10-18 24 views
5

Ho aggiornato un'applicazione alle guide 4 e tutto funziona correttamente. Posso accedere e accedere alla mia pagina di modifica. Anche aggiornato le visualizzazioni. Quando si utilizza la vista standard, l'utente viene aggiornato. Ma quando aggiungo ad esempio il campo: nome, questo non viene aggiornato nel modulo.Devise with rails 4 non aggiornando l'utente

Utilizzando ideare 3.1.1 e anche i Gem 'protected_attributes'

Ho bisogno di eseguire un qualche tipo di comando di aggiornamento su disposizione testamentaria o db?

Ho anche cercato questo posto, trovando molte soluzioni diverse, ma nessuna aggiornerà il mio campo utente. Non ho aggiunto nessun campo personalizzato.

+0

Hai provato ad aggiungere il parametro utilizzando il metodo di parametri forte 4 rails per vedere se quello passa? – trh

+0

Impostazione dei parametri forti nel controller dell'applicazione funzionante. L'ultima volta che l'ho provato l'ho fatto, ma dopo aver rimosso la gem di protected_attributes e riavviato il server, ha funzionato :) – w25x

risposta

8

Se si desidera consentire parametri aggiuntivi è possibile utilizzare un before filter nel proprio ApplicationController in quanto Rails 4 ha spostato il parametro sanitizzazione dal modello al controller.

class ApplicationController < ActionController::Base 
    before_filter :configure_permitted_parameters, if: :devise_controller? 

    protected 

    def configure_permitted_parameters 
    devise_parameter_sanitizer.for(:sign_up) << :name << :surname << :username 
    devise_parameter_sanitizer.for(:account_update) << :name << :surname << :username 
    end 
end 

Potete anche trovare più here.

+0

Esiste una differenza tra ciò e 'devise_parameter_sanitizer.for (: sign_up) {| u | u.permit (: username,: email,: password,: password_confirmation)} ' – Un3qual

Problemi correlati