我有兩種型號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)
guidance_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
,有沒有什麼辦法可以實現這一點?
請添加動態選擇代碼和完整控制器動作代碼。 – tommasop
它是一個正常的控制器,我添加了什麼只與我的問題有關。 ,還加入了問題 –