ruby-on-rails - 验证用户不能两次选择相同角色的下拉列表
问题描述
下拉列表包含需要分配给用户的不同角色。每个用户可以有多个角色。但是用户不应该能够两次选择相同的角色。我如何验证这一点?需要帮忙
下拉代码
<%= 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
解决方案
向模型添加唯一性约束UserRole
:
belongs_to :user
belongs_to :role
validates_uniqueness_of :role_id, :scope => :user_id
推荐阅读
- android - 获取设备 ID - Express
- machine-learning - 预期的二维数组,得到一维数组:拟合模型后
- email - 有什么方法可以知道用户在通过 powerbuilder 通过 Outlook 打开新邮件窗口后是否按下了“发送”或“X”按钮?
- php - SQLSTATE [HY000]:一般错误:1364 字段“密码”没有默认值
- python - if 语句错误
- powershell - 如何使用 PowerShell 从 Active Directory 合并多行信息属性
- javascript - 收到警告消息:列表中的每个孩子都应该有一个唯一的“关键”道具。仅在浏览器中显示,而不在文本编辑器的控制台中显示。- React.js
- python - PIL.ImageChops.subtract 和首先转换为 numpy 数组然后减去它们有什么区别?
- node.js - 如何让 Quickbooks Desktop Web 连接器启动连接?
- android - 未解决的参考:RECTANGLE_HEIGHT_250