我遇到了问题,我没有正确规划数据库,因此我总是需要使用'替代品'。
我想在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" %>
.....
它有效,但当我点击编辑时,这些字段没有预选。
有人通过了这样的麻烦,可以帮助我吗?
答案 0 :(得分:10)
options_from_collection_for_select有4个参数:
您可以提供单个值或哈希来表示选定的值。试试这个:
<%= 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" %>
我不确定您尝试选择的值来自哪里,但将它们输入到选定的哈希值。