Rails管理员“用户名已被占用”

基尔奇

我的应用程序中有一个Rails Admin面板。当我尝试更新现有用户之一(编辑user_info字段+单击保存)时,我得到了

User failed to be updated
- Username has already been taken

即使我一点也不触摸用户名。

所有操作均通过管理员帐户进行。那已经can :manage, :all在能力.rb

我已经尝试添加on: :create到的末尾,validates :username但是它给我抛出了一个不同的错误。

如何允许用户从Rails Admin仪表板进行编辑?

向上

  validates :username, presence: true, uniqueness: true, length: {in: 3..150}

添加后 on: :create

ActiveRecord::StatementInvalid in RailsAdmin::MainController#edit
SQLite3::ConstraintException: PRIMARY KEY must be unique: UPDATE "users" SET "current_sign_in_at" = ?, "last_sign_in_at" = ?, "confirmed_at" = ?, "confirmation_sent_at" = ?, "user_info" = ?, "id" = ?, "updated_at" = ? WHERE "users"."id" = ?


    def each
      loop do
        val = step
        break self if done?
        yield val
      end

up2

如果我尝试编辑当前用户(我自己),则效果很好。

基尔奇

在针对经过身份验证的用户的能力课程中,我有以下内容:

can :update, User, id: user.id

将其更改为以下代码后,我可以编辑其他用户:

 can :update, User do |u|
   u.id == user.id
 end

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

php用户名,用于检查数据库“用户名已被占用”

Ubuntu错误地告诉我,用户名已被占用

PHP和MySQL-检查用户名是否已被占用

Rails中的管理员/用户名称空间控制器的功能是什么

管理员用户名和应用程序的用户名可以相同吗?

在Django管理员编辑用户表单中删除/隐藏用户名字段

Jenkins(非管理员)用户密码重设/用户名更改

PHP / Ajax简单聊天-将管理员用户名颜色设置为红色

如何使用数据库表设置管理员的用户名和密码?

Django项目如何查找管理员用户名和密码

无法使用正确的用户名和密码登录Django管理员

如何在Java中使用管理员权限发现Linux用户名

Django - 提交表单后无法在管理员中检索用户名

在Woocommerce管理员订单列表自定义列中显示用户名

存储管理员用户名/密码-FLASK-SQLAlchemy

网络管理员不记得登录名(用户名)

自动验证并检查用户名是否被占用。ASP.NET 核心

如何从非管理员用户那里获取当前登录的用户名,域名和用户sid?

如果用户没有用户名或其他名称,返回到django管理员的内容

以管理员身份运行应用程序时,有什么方法可以获取非管理员用户名

管理员搜索时出现Django错误:无法将关键字“用户名”解析为字段

如何通过用户名和密码检查帐户是否具有管理员权限/特权?

以管理员身份运行批处理文件时如何获取当前登录的用户名

hortonworks / sandbox-hdp:3.0.1的默认Ranger管理员用户名和密码是什么

将Shop Manager用户名添加到Woocommerce管理员订单说明中

在登录名中获取用户名,以检查其是否为管理员角色

即使用户名被占用,创建帐户php注册码也会继续创建帐户

如果用户名相同(管理员),则DCOM身份“交互式用户”和“此用户”有什么区别?

Django错误admin.E033:用户名不是users.CustomUser的属性。为什么我的自定义用户管理员不起作用?