2011-05-30 69 views
0

我剛剛使用Mike Hartl的「Learn Rails by Example」構建了一個rails 3應用程序。我準備部署它,但我很困惑如何將管理員添加到應用程序。我將是唯一的管理員。在部署之前是否會添加管理員?如果是這樣,我該怎麼做。如何添加管理員在rails 3應用程序

+1

你聽起來像每個Rails項目的定義都有一個管理員,事實並非如此。你是什​​麼意思的管理員?你有沒有寫過任何只能由管理員執行的代碼?或者是你使用的教程的這一部分?在這種情況下,至少要提供一個鏈接到Mike Hartl的「通過示例學習Rails」。 – Mischa 2011-05-30 11:26:43

+0

不知道thistutorial,但你可以將它添加到你的種子。 – apneadiving 2011-05-30 11:27:36

回答

2

當我們談論一個「管理員帳戶」時,我相信你需要的是兩個不同的東西:認證(登錄)&授權(登錄可以/不可以做什麼)。

在導軌下,一種方法是使用兩種不同的寶石。我建議你看看devisecancan。它們都是由軌道巨星JoséValim和Ryan Bates開發並積極維護的。

+0

查看http://railsapps.github.com/上的「瘋狂深入」Rails教程之一,查看使用Devise進行授權的應用程序示例。 – 2011-05-30 14:42:45

0

本教程實際上並未通過創建可創建管理員的界面。如果你想測試在那裏你不能刪除其他管理員帳戶的一部分,您可以通過將2名管理員給sample_data.rake文件與攤販測試:

def make_users 
    admin = User.create!(:name => "Example User", 
        :email => "[email protected]", 
        :password => "foobar", 
        :password_confirmation => "foobar") 
admin.toggle!(:admin) 
admin2 = User.create!(:name => "Example User2", 
        :email => "[email protected]", 
        :password => "foobar", 
        :password_confirmation => "foobar") 
admin.toggle!(:admin) 
99.times do |n| 
name = Faker::Name.name 
email = "example-#{n+1}@railstutorial.org" 
password = "password" 
User.create!(:name => name, 
      :email => email, 
      :password => password, 
      :password_confirmation => password) 
    end 
end 

如果你想添加一個管理員到生產,我猜你可以創建你的賬戶,並用數據庫編輯器切換管理功能,然後將數據庫推送到生產服務器?這就是我會做的,但我絕不是專家。

0

的管理控制面板上的我的網絡應用程序我使用typus寶石https://github.com/fesplugas/typus/

就會產生一個管理頁面,並通過默認typus會使用你的模型default_scope來獲取數據。

0

我忙於同樣的事情!

,我發現這個堆棧:

rails c 
Loading development environment (Rails 3.0.0.beta3) 
irb(main):001:0> admin = Admin.create! do |u| 
irb(main):002:1* u.email = '[email protected]' 
irb(main):003:1> u.password = 'password' 
irb(main):004:1> u.password_confirmation = 'password' 
irb(main):005:1> end 

我改變了管理員用戶,但問題是它創建了一個普通用戶不是一個管理員用戶。某處我們需要輸入- admin.toggle!(:admin)或使其成真。如果我找到其他東西,我會告訴你。

+0

好的,我明白了!廣告u.toggle!(:admin) – 2011-06-07 15:00:27

+0

就在部分之前......並且記得要輸入一個u.name! – 2011-06-07 15:03:58

相關問題