Ruby на рельсах - добавление переменной на слова [
-
26-09-2019 - |
Вопрос
В контроллере, как я могу добавить переменную в конце параметров []?
Если я попробую это, я получаю ошибку: params [: group_] + переменная
Как это должно быть сделано?
Редактировать на запрос
Хорошо, у меня есть форма, которая устанавливает группы радиотехнических кнопок с такими именами:
group_01drn0.
Очевидно, у меня есть разные группы в форме (group_01aai0, group_01aui0 и т. Д.), И значение устанавливается в соответствии с подключением, выбранной в группе:
Переключатель «GROUP_01DRN0» может иметь значение «21» или «22» или «23», переключатель «GROUP_01AAI0» может иметь значение «21» или «22» или «23» и т. Д.
В БД у меня есть каждый код (01DRN0, 01AAI0, 01aui0, и т. Д.), Итак, я хочу выбрать их из БД и итерации в значение параметрами, поэтому я могу получить значение группы радиоуправления, я попробовал это без удачи:
@codes=Code.get_codes
for c in @codes
@all=params[:group_] + c.name
end
Спасибо.
Решение
Парми выглядит как хеш, но это действительно нет. Таким образом, если вам нужно «дополнить» словами, поскольку вы имеете дело с входящими данными в вашем контроллере, придумайте новую структуру данных, которые включают в себя и либо его члены.
Добавлен:
Может быть, вы ищете
@codes=Code.get_codes
@all = []
for c in @codes
@all << params["group_#{c.name}"]
end
Другие советы
p = params
p[:new_param_name] = new_param_value
Это работает для меня (рельсы 3.2). NOTA: Использование p
вместо изменения params
избегает изменения исходных параметров.