我有两个模型Employee
,EmployeeDepartment
。我制作了一个动态选择菜单,因此当我选择一个部门时,它将使用以下代码根据该部门过滤员工simple_form
<%= f.input :employee_id , collection: @departments, as: :grouped_select, group_method: :employees, include_blank: false %>
笔记:@departments = EmployeeDepartment.order(:name)
我想做的是:
在进行动态选择之前,我使用此代码来获取特定员工
<%= f.association :employee, :collection => @supervisors_list, :label_method => :full_name, :value_method => :id, include_blank: false %>
注意:@supervisors_list = Employee.where('guidance_supervisor' => true).order(:first_name)
guide_supervisors.js.coffee
jQuery ->
$('#guidance_supervisor_employee_id').parent().hide()
employee = $('#guidance_supervisor_employee_id').html()
$('#guidance_supervisor_employee_department_id').change ->
department = $('#guidance_supervisor_employee_department_id :selected').text()
escaped_department = department.replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g, '\\$1')
options = $(employee).filter("optgroup[label='#{escaped_department}']").html()
if options
$('#guidance_supervisor_employee_id').html(options)
$('#guidance_supervisor_employee_id').parent().show()
else
$('#guidance_supervisor_employee_id').empty()
$('#guidance_supervisor_employee_id').parent().hide()
添加动态选择后,我无法使用@supervisors_list
这使得菜单获取所有员工。我需要能够@supervisors_list
再次使用,有什么方法可以实现吗?