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

时间:2014-02-10 00:39:20

标签: ruby-on-rails ruby ruby-on-rails-3.2 ruby-on-rails-3.1

我遇到了问题,我没有正确规划数据库,因此我总是需要使用'替代品'。

我想在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 个答案:

答案 0 :(得分:10)

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

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