选择预先选择了多个值的标记 – 在数据库中手动插入值

我有一个问题,我没有正确规划我的数据库,所以我总是需要使用’替代’。

我想在select_tag中预先选择多个值。 但我在表空缺中“手动”添加空缺。 我的控制器:

def create @hr_curriculum_generic = HrCurriculumGeneric.new(params[:hr_curriculum_generic]) # Tabela CandidatosxVagas unless params[:vacancy_ids].nil? @vacancies_ids = params[:vacancy_ids] 

– 我的表格:

  @vacancies_ids.each do |vacancy_id| # Armazena os id do curriculum, vaga e do cargo na tabela CandidatosxVagas @candidates_vacancies = CandidatesVacancy.new   true, :id => "vacancy_ids", :class => "form-control" %> 

…..

它的工作原理,但是当我点击编辑时,字段不会被预选。

有人通过了这样的麻烦,可以帮助我吗?

options_from_collection_for_select有4个参数:

  • 采集
  • ID

您可以提供单个值或哈希来表示选定的值。 试试这个:

 <%= select_tag "vacancy_ids[]", options_from_collection_for_select(Vacancy.all,"id","title",{:selected=>[1,2,3,4]})), :multiple => true, :id => "vacancy_ids", :class => "form-control" %> 

我不确定您尝试选择的值来自哪里,但将它们输入到选定的哈希中。