2017-02-01 13 views
0

Ich versuche das Gerät zum ersten Mal. Ich folge dem Link: https://github.com/plataformatec/devise. Hier habe ich den Befehl ausgeführt:Generieren Devise Controller - Rails Devise

rails generate devise MODEL 

, wenn ich dies ausgeführt haben, das Modell und die Ansicht, die Teile sind created.When i die Routen geprüft, ich habe bemerkt, dass es einen Controller mit dem Namen erstellt ist: MODEL. aber ich fand den Controller im Projekt nicht.Meine Abfrage ist, wie können wir herausfinden, ob ein Controller generiert wird oder nicht und verwenden Sie diesen Controller im Projekt. Vielen Dank im Voraus.

+0

Haben Sie * MODEL * im Befehl durch den tatsächlichen Modellnamen ersetzt. So etwas wie * User *? –

+0

Ja. Ich hatte MODEL mit User – Harshini

+0

ersetzt. Also, was genau ist das Problem, vor dem Sie stehen? –

Antwort

3

Es gibt viele Befehle, dass devise provid es ..

  1. rails generate devise:install - schaffen wird config/devise.rb
  2. rails generate devise User-db/migration-file-for-user-model schaffen, die Code kommentiert, das Sie können uncomment, wenn Sie andere modules..such als confirmable, omniauth etc
  3. rails generate devise:views - erstellt alle Ansichten im Ordner devise mit app/views/devise/sessions, app/views/devise/confirmations, registrations usw. Ordner und seine Ansichten jeweils.
  4. rails generate devise:views users - erstellt Ordner von , .. etc anstelle devise Ordner oben.
  5. rails generate devise:controllers - werden alle controllers .. ähnlich wie oben schaffen ... hier wird es app/controllers/devise/sessions_controller.rb erstellen mit Standard-Code kommentiert, die Sie bearbeiten müssen es sonst lassen, wie es für die Basisauthentifizierung ist.Darüber hinaus können Sie auch usersUmfang am Ende hinzufügen Controller in controllers/users/ zu erzeugen und nicht controllers/devise/

Sie auch durch diese gute devise tutorial gehen kann ..

Hoffe, es hilft.

+0

Es half. Vielen Dank – Harshini

1

Ersetzen MODELL mit Benutzern wie

rails generate devise User 

Es wird User-Modell unter app/modeld/user.rb und Benutzer-Controller unter app/controllers/users_controller.rb

Laufe Migration generiert Benutzertabelle hinzufügen unter Datenbank mit dem Befehl:

rake db:migrate 
2

läuft

rails generate devise MODEL 

Wenn Sie den Edelstein Device verwenden, werden die Controller für Sie nicht erstellt.

In Ihrem Fall, wenn Sie irgendwelche Methoden in den Devise-Controllern ändern möchten, möchten Sie vielleicht Ihren eigenen Controller erstellen, der Devise-Controller erbt.

Zum Beispiel das Ändern der devise Registrierung Controller ersten und letzten ermöglichen Namen würden Sie benötigen, um Ihre eigenen Controller unter app/controllers/MODELL/registrations_controller.rb

Link to Devise controllers here

class MODEL::RegistrationsController < Devise::RegistrationsController 
    before_filter :configure_permitted_parameters 

    protected 

    def configure_permitted_parameters 
    devise_parameter_sanitizer.permit(:sign_up, keys: [:first_name, :last_name]) 
    end 
end 

und instruiert erstellen Ihre routes.rb den Controller verwenden

devise_for :MODEL, :controllers => { :registrations => "MODEL/registrations" } 
Verwandte Themen