我已按照 Spree 说明进行设置,并使其在开发模式下工作。我使用 Capistrano 将机架空间部署到生产服务器,但是相同的默认登录名(“spree@example.com”/“spree123”)不起作用。我在 Web 界面中创建了一个用户,但它当然没有管理员权限。
指南中没有任何内容考虑到这一点 - 当最初根本没有用户时,如何在生产中创建管理员用户?也许我部署不正确?我正在使用一个非常标准的 deploy.rb,必须有一些特定于狂欢的代码来设置它吗?
我已按照 Spree 说明进行设置,并使其在开发模式下工作。我使用 Capistrano 将机架空间部署到生产服务器,但是相同的默认登录名(“spree@example.com”/“spree123”)不起作用。我在 Web 界面中创建了一个用户,但它当然没有管理员权限。
指南中没有任何内容考虑到这一点 - 当最初根本没有用户时,如何在生产中创建管理员用户?也许我部署不正确?我正在使用一个非常标准的 deploy.rb,必须有一些特定于狂欢的代码来设置它吗?
rake spree_auth:admin:create
如果您使用 spree_auth_devise,您可以运行
您可以从控制台将任何用户添加到 Spree 管理员角色rails c
,执行以下操作:
user = user.find({your id})
user.spree_roles << Spree::Role.find_by_name(:admin)
在生产中,您可以这样运行控制台:
RAILS_ENV=production rails c
如果您使用 heroku 进行部署,请确保执行以下操作:
heroku run rake db:migrate
heroku run rake db:seed
种子将要求您为您的管理员帐户创建用户名和密码。
希望这有帮助。
如果您创建的用户是第一个用户,它实际上将具有管理员权限。
出色地,
我建议您从控制台手动创建用户,SSH 到服务器,导出 RAILS_ENV=production,rails c,然后找到您想要的用户(如果存在),然后手动更新密码,或者简单地创建新用户。您想要的,并且根据您的 Spree 版本,您只需手动将一条记录插入到其中 role_id 为 1 且 user_id 是您刚刚创建的用户的 id 的角色用户中。
这可能取决于您使用的版本。但我只是从控制台做,在我看来这更容易。
您也可以在自己的站点上注册一个帐户,然后转到控制台,找到该用户并添加角色。真的有一百万零一种方法可以做到这一点。
您可以使用以下命令
rails spree_auth:admin:create RAILS_ENV=production