【问题标题】:How to use the same username for different users in different organizations?如何为不同组织的不同用户使用相同的用户名?
【发布时间】:2015-06-05 20:47:07
【问题描述】:

我为所有组织使用相同的用户表。我的用户表中有org_id 来分配来自不同组织的用户。现在我想仅为该组织设置一个唯一的用户名。例如,org_id = 1 有管理员用户名,org_id = 2 也有管理员用户名。

目前,当我创建相同的用户名时,它会抛出错误

用户名已经存在

如何设置唯一用户名以仅在同一组织中申请?

【问题讨论】:

  • 我不确定如何在 Rails 中执行此操作,但您希望创建一个由多个字段组成的主键,这样您可以使主键唯一并且仍然有重复用户名。

标签: ruby-on-rails authentication ruby-on-rails-4 login devise


【解决方案1】:
validates :name, uniqueness: { scope: :org_id}

这将根据 org_id 验证名称

【讨论】:

    【解决方案2】:

    ActiveRecord 验证为此目的通过范围提供唯一性:

    validates :username, uniqueness: { scope: :org_id }
    

    因此这将验证 :username:org_id 的关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-21
      • 2019-06-16
      • 1970-01-01
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      • 2019-11-10
      • 2022-12-05
      相关资源
      最近更新 更多