2011-05-30 68 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

相关问题