2011-03-01 16 views
31

Ben 3 uygulama sadece Yönetici hesabıyla yeni kullanıcılar oluşturmak üzere, uygulamama kamu kayıtları istemiyoruz Tony's tutorialİlk (Yönetici) kullanıcısı nasıl oluşturulur (CanCan ve Devise)?

tarafından takip benim Rails kimlik yaptı, ama ben çünkü tabloda, elle Yönetici hesabı oluşturamazsınız Kullanıcılar, şifrelenmiş şifre ve üretilmesi gereken tuz var ve nasıl bilmiyorum: |

+3

Bu soru CanCan ile ne yapmak zorunda? –

+0

@Mark S ... Bilmiyorum. –

cevap

39

Bunu ray konsolundan yapabilirsiniz. Komut satırından ray uygulamanızın rehberine gidin ve rails console yazın. Sonra bir kullanıcı oluşturmak için aşağıdaki kodu girin:

user=User.create!(:email=>'[email protected]',:username=>'test',:password=>'password') 

Bu (sizin vasiyetle kaynak Kullanıcının denir varsayarak) bir kullanıcı nesnesi oluşturur. Artık yönetici ayrıcalıklarını ayarlamak için yeni oluşturduğunuz kullanıcı nesnesini kullanabilirsiniz.

+0

Kullanıcılara/yeni, tanımlanmamış bir yöntem olan 'model' e erişmek istediğimde tarayıcıda Şablon hatası alıyorum ve yeni kullanıcı oluşturmaya çalıştığımda konsoldan ActionView :: Template :: Hatası alıyorum: ActionView :: Template :: Hata ve bir çok dosya referansı (yorum olarak kopyalamak güzel değil :)) – dormitkon

+0

Bu benim app (kod) bir parçası: http://anticdesign.info/work/ror/ – dormitkon

+0

Yetenek modeliniz nerede? - https://github.com/ryanb/cancan/wiki/defining-abilities –

20

Devise için admin kullanıcımı oluşturmak için, seed.rb dosyasında böyle bir şey (bilgileriniz farklı olabilir) yaşıyorum.

User.new({ :email => '[email protected]', :password => 'password', :password_confirmation => 'password'}).save 

Sen terminal penceresinde rake db:seed kullanarak çalıştırabilirsiniz. Ayrıca

15

, sen doÕrulanabilir kullanarak ve böyle bir şey yapabileceği yeni hesaplar oluştururken Onay e-postasını gereksinimi atlamak istiyorsanız eğer:

newuser = User.new({ :email => '[email protected]', 
      :password => 'password', 
      :password_confirmation => 'password'}) 
newuser.skip_confirmation! 
newuser.save 

Bu oluşturduğunuz hesaplardır kullanışlıdır Güvenilir kullanıcılar için veya test hesapları oluşturuyorsanız.

İlgili konular