Rails, collection_select - запоминание значений с: выбранным после отправки формы - PullRequest
0 голосов
/ 20 декабря 2010

(Использование Rails 2.3.5 на внутреннем рабочем сервере без выбора версий, и я довольно новичок)

Я создаю форму поиска, где мне нужно предоставить список каталогов дляпользователь, чтобы они могли выбрать, какие из них для поиска.Я пытаюсь выяснить, как получить выбранные значения collection_select, чтобы остаться после отправки формы.

Скажем, пользователь выбрал 3 каталога из коллекции collection_select, идентификаторы этих каталогов будут выглядеть следующим образом в параметрах:

directory: !map:HashWithIndifferentAccess 
  id: 
  - "2"
  - "4"
  - "6"

Я знаю, что вы можете вручную указать несколько выбранных элементов:1008 *

<%= collection_select :directory, :id, @directories, :id, :name,
                 {:selected => [2,4,6]}, {:size => 5, :multiple => true} %>

Я тоже немного поигрался и смог "to_i" сравнить с одним значением в хэше params:

<%= collection_select :directory, :id, @directories, :id, :name,
                 {:selected => params[:directory][:id][0].to_i}, {:size => 5, :multiple => true} %>

Что я не могу понять, так этокак использовать все значения параметров каталога: одновременно с тем, что выбранное пользователем остается после отправки формы.Спасибо за любую помощь.

1 Ответ

1 голос
/ 20 декабря 2010

Я не совсем уверен, что вы спрашиваете, но если вы пытаетесь получить массив строк в params[:directory][:id] как массив целых чисел, все что вам нужно это

params[:directory][:id].map{|id|id.to_i}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...