我有两个 Rails Active Record 模型组和帐户
group
has_many :accounts
id
name
.. other infromation
timestamps
Account
belongs_to :group
id
name
.. other information
timestamps
我需要在帐户部分中执行验证 :name, :uniqueness => true ,但仅在组下进行。就像我希望帐户名在组下是唯一的一样。我知道我可以强制执行数据库唯一约束,但是我可以使用 AR 来执行此操作吗?有可能吗?
我不确定接受的答案是否有效,但截至今天(2022年2月22日和rails 5/6/7)它不起作用。正如许多人在评论中已经建议的那样,正确的方法是:
validates :name, presence: true, uniqueness: { scope: :group_id }