我已按照Spree的说明进行设置,我让它在开发模式下工作。我使用Capistrano部署到机架空间到生产服务器,但是相同的默认登录(“spree@example.com”/“spree123”)不起作用。我在Web界面中创建了一个用户,但当然它没有管理员权限。
指南中没有任何内容考虑到这一点 - 如果最初根本没有用户,如何在生产中创建管理员用户?也许我部署不正确?我使用的是非常标准的deploy.rb,是否必须有一些特定于spree的代码来设置它?
答案 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