Select tag with multiple values pre-selected-значения, вставленные вручную в базу данных

у меня проблема, я не планировал свою базу данных правильно, поэтому всегда мне нужно использовать "альтернативы".

Я хочу предварительно выбрано несколько значений в 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 
    <% @vacancies = Vacancy.all %>
    <%= select_tag "vacancy_ids[]", options_from_collection_for_select(Vacancy.all, "id", "title"), :multiple => true, :id => "vacancy_ids", :class => "form-control" %>

.....

его работы, но когда я нажимаю "редактировать", поля не выбраны заранее.

кто-то прошел для такой проблемы и может мне помочь?

1 ответов


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" %>

Я не уверен, откуда берутся значения, которые вы пытаетесь выбрать, но передайте их в выбранный хэш.