如何在生产中访问Spree的管理部分?

时间:2012-04-28 14:16:45

标签: ruby-on-rails admin spree

我已按照Spree的说明进行设置,我让它在开发模式下工作。我使用Capistrano部署到机架空间到生产服务器,但是相同的默认登录(“spree@example.com”/“spree123”)不起作用。我在Web界面中创建了一个用户,但当然它没有管理员权限。

指南中没有任何内容考虑到这一点 - 如果最初根本没有用户,如何在生产中创建管理员用户?也许我部署不正确?我使用的是非常标准的deploy.rb,是否必须有一些特定于spree的代码来设置它?

5 个答案:

答案 0 :(得分:19)

如果您使用spree_auth_devise

,则可以运行rake spree_auth:admin:create

答案 1 :(得分:12)

您可以从控制台rails c将任何用户添加到狂欢管理员角色,执行以下操作:

user = user.find({your id})
user.spree_roles << Spree::Role.find_by_name(:admin)

在制作中,您将以这种方式运行控制台:

RAILS_ENV=production rails c

答案 2 :(得分:1)

如果您创建的用户是第一个用户,那么它实际上拥有管理员权限。

答案 3 :(得分:0)

那么,

我建议您从控制台手动创建用户,SSH到服务器,导出RAILS_ENV = production,rails c,然后找到您想要的用户(如果存在),然后手动更新密码,或者只需创建新用户即可。您想要的,并且根据您的Spree版本,您只需手动将记录插入到roles_users中,其中role_id为1,user_id是您刚刚创建的用户的ID。

可能取决于您使用的版本。但我只是从控制台上做到这一点,在我看来这更容易。

您也可以在自己的网站上注册一个帐户,然后转到控制台,找到该用户,然后添加该角色。真的有一百万种方法可以做到这一点。

答案 4 :(得分:0)

您可以使用以下命令

rails spree_auth:admin:create RAILS_ENV=production