如何在rails 3应用程序中添加管理员

时间:2011-05-30 11:22:23

标签: ruby-on-rails ruby-on-rails-3

我刚刚使用Mike Hartl的“通过示例学习Rails”构建了rails 3应用程序。我准备部署它,但我对如何将管理员添加到应用程序感到困惑。我将是唯一的管理员。是否在部署之前添加管理员,如果是,我该如何做。

4 个答案:

答案 0 :(得分:2)

当你谈到“管理员帐户”时,我认为你需要的是两个不同的东西:身份验证(登录)&授权(登录可以/不可以做什么)。

在铁轨下,一种方法是使用两种不同的宝石。我建议您查看devisecancan。它们都是由铁路超级明星开发并积极维护的:JoséValim和Ryan Bates。

答案 1 :(得分:0)

本教程实际上并没有创建一个可以创建管理员的界面。如果您想测试不允许删除其他管理员帐户的部分,您可以通过向sample_data.rake文件添加2个管理员来与faker进行测试:

def make_users
  admin = User.create!(:name => "Example User",
                   :email => "example@railstutorial.org",
                   :password => "foobar",
                   :password_confirmation => "foobar")
admin.toggle!(:admin)
admin2 = User.create!(:name => "Example User2",
                   :email => "example2@railstutorial.org",
                   :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

如果你想在生产中添加管理员,我猜你可以创建你的帐户并用数据库编辑器切换管理功能,然后将数据库推送到生产服务器?这就是我要做的,但我绝不是专家。

答案 2 :(得分:0)

我的网络应用上的管理控制面板我正在使用typus gem https://github.com/fesplugas/typus/

它将生成一个管理页面,默认情况下,typus将使用你的模型default_scope来获取数据。

答案 3 :(得分:0)

我忙于同样的事情!

我在STACK上找到了这个:

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 = 'sample@sample.com'
irb(main):003:1> u.password = 'password'
irb(main):004:1> u.password_confirmation = 'password'
irb(main):005:1> end

我将管理员更改为用户,但问题是它创建了普通用户而不是管理员用户。在某个地方,我们需要放入- admin.toggle!(:admin)或使其成为现实。如果我发现其他任何事情,我会通知你。