【发布时间】:2017-08-01 16:55:05
【问题描述】:
我在用户模型中使用枚举实现了用户角色:
enum role: [:staff, :clinician]
我有一个带有 User belongs_to :university 的大学模型和一个带有 has_many :users 的大学模型。
我的应用程序的工作方式是“员工”将属于一所大学,但“临床医生”是私人执业,因此不需要属于一所大学,也不需要在注册时选择一个。
如果用户选择临床医生,我的注册表单设置为隐藏大学字段,但我想确保我的验证设置为要求任何在注册时选择员工的用户也必须选择一所大学,并且任何在注册时选择临床医生的用户如果选择一所大学,则验证失败。
这是用户注册表单的角色部分:
<%= f.label :role %>
<%= f.select(:role, User.roles.keys.map {|role| [role.titleize,role]}, :include_blank => "Please Select", id: 'user_role') %>
<%= content_tag :div, class: 'js-dependent-fields', data: { 'select-id': 'user_role', 'option-value': 'staff'} do %>
<%= f.label :university_id%>
<%= collection_select( :user, :university_id, University.all, :id, :name, prompt: true) %>
【问题讨论】:
标签: ruby-on-rails