Ruby на рельсах - добавление переменной на слова [

StackOverflow https://stackoverflow.com/questions/2836333

  •  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 избегает изменения исходных параметров.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top