自定义大礼包设计注册 - 管理员授权失败

时间:2015-07-21 18:41:17

标签: ruby-on-rails ruby devise spree spree-auth-devise

我添加了姓名,姓氏和生日字段来设计注册。 这是我原来问题的链接。

Adding name to Spree Devise registration

似乎在前端方面一切正常。但是,当我尝试访问我的管理员时,我现在收到授权失败警报。

这是控制台日志:

Started GET "/admin/orders" for ::1 at 2015-07-21 13:25:16 -0500
Processing by Spree::Admin::OrdersController#index as HTML
  Spree::Preference Load (0.3ms)  SELECT  "spree_preferences".* FROM "spree_preferences" WHERE "spree_preferences"."key" = $1 LIMIT 1  [["key", "spree/backend_configuration/locale"]]
  Spree::User Load (0.5ms)  SELECT  "spree_users".* FROM "spree_users" WHERE "spree_users"."deleted_at" IS NULL AND "spree_users"."id" = $1  ORDER BY "spree_users"."id" ASC LIMIT 1  [["id", 6]]
   (0.7ms)  SELECT COUNT(*) FROM "spree_roles" INNER JOIN "spree_roles_users" ON "spree_roles"."id" = "spree_roles_users"."role_id" WHERE "spree_roles_users"."user_id" = $1 AND "spree_roles"."name" = $2  [["user_id", 6], ["name", "admin"]]
Redirected to http://localhost:3000/unauthorized
Completed 302 Found in 88ms (ActiveRecord: 4.1ms)

我试图覆盖 app / controllers / spree / admin / users_controller_decorator.rb

module Spree
  module Admin
   UsersController.class_eval do

    private
     def user_params
         params.require(:user).permit(:email, :password, :password_confirmation, :spree_role_ids, :name, :surname, :birthdate)

     end

   end
  end
end

2 个答案:

答案 0 :(得分:1)

您不能将角色管理员从前端方面分配给任何用户。 请从前端注册用户并从后端更改角色。

答案 1 :(得分:1)

当您从前端注册用户时,它是一个简单的用户,他不是管理员,或者他没有管理员权限,说明您遇到此问题的原因。

如果您想创建一个拥有管理员权限的用户,那么您只需转到管理面板并为该用户授予权限。

这是创建admin的默认命令,在控制台

中运行此命令
bundle exec rake spree_auth:admin:create

由于

相关问题