2013-02-27 3 views
7

Ich habe bereits ein Benutzermodell erstellt. Ich frage mich, wie ich das Gerät mit meinem bestehenden Benutzermodell konfigurieren soll. Dazu muss ich zusätzliche Routen einrichten oder Attribute in meiner Benutzer-Methode zugänglich machen.Schritt für Schritt, wie man die Migration von Devices zu einem bestehenden Benutzermodell in Ruby on Rails hinzufügt?

Bisher Benutzermodell ist

class User < ActiveRecord::Base 
    attr_accessible :email, :pic, :name, :username 
    has_many :topics 
end 

Meine Migration für create

class CreateUsers < ActiveRecord::Migration 
    def change 
    create_table :users do |t| 
     t.string :name 
     t.string :email 
     t.string :username 
     t.string :pic 

     t.timestamps 
    end 
    end 
end 

Nun, was ich plane zu tun laufen wird

rails g migration AddDeviseColumnsToUser 

Und diese Datei zu meiner Migration hinzufügen

class AddDeviseColumnsToUser < ActiveRecord::Migration 
    def change 
    change_table :users do |t| 
     t.string :encrypted_password, :null => false, :default => '', :limit => 128 
     t.confirmable 
     t.recoverable 
     t.rememberable 
     t.trackable 
     t.token_authenticatable 
     t.timestamps 
    end 
    end 
end 

Jetzt frage ich mich, wie sollte ich meine Routen einrichten oder muss ich? Und welche Attribute sollten in meinem Benutzermodell zugänglich gemacht werden?

Update: Ich habe bereits Devise installiert und konfiguriert es mit

rails generate devise:install 

Antwort

9

Fügen Sie einfach devise_for :user in Ihre Routen

hinzufügen attr_accessible :password, :password_confirmation

und für weitere Informationen einen Blick auf ein typisches devise Modell nehmen

https://github.com/johndel/Rails-Simple-CMS/blob/master/app/models/admin.rb

(Pretty simple)

+1

Sollte ich diese beiden '' 'Ressourcen: Benutzer' '' und '' 'Devise_for: user''' – psharma

+3

' devise_for: user' macht Sachen wie Registrierung, Login und bearbeiten Sie den Benutzer. Sie erhalten kein Profil für den Benutzer (Benutzer # show) oder eine Liste mit allen Benutzern (Benutzer # index). Ja, Sie sollten alle Routen für Ihren Benutzer behalten. –

+0

ah ok. Macht Sinn. Vielen Dank :) – psharma

4

Sie können einfach laufen:

rails generate devise User 

zum User-Modell hinzuzufügen, ausdenken.