首页 > 解决方案 > 验证用户不能两次选择相同角色的下拉列表

问题描述

下拉列表包含需要分配给用户的不同角色。每个用户可以有多个角色。但是用户不应该能够两次选择相同的角色。我如何验证这一点?需要帮忙

下拉代码

<%= f.select(:role_id, Role.all.map{|e| [e.name, e.id]},{ include_blank: "Please select"}, multiple: true ) %>

通过关联使用 has_many

用户角色.rb

belongs_to :user
belongs_to :role

标签: ruby-on-rails

解决方案


向模型添加唯一性约束UserRole

belongs_to :user
belongs_to :role 

validates_uniqueness_of :role_id, :scope => :user_id

推荐阅读