Ruby on Rails - Adicionando variável aos parâmetros [
-
26-09-2019 - |
Pergunta
No controlador, como posso adicionar uma variável no final de um params []?
Se eu tentar isso, recebo um erro: params [: group_] + variável
Como isso deve ser feito?
Editar por solicitação
Ok, eu tenho um formulário que define grupos de botões de rádio com nomes como este:
grupo_01drn0
Obviamente, tenho grupos diferentes no formulário (Group_01Aai0, Group_01aui0, etc.) e o valor é definido de acordo com o botão de rádio selecionado dentro do grupo:
Botão de rádio "Group_01Drn0" pode ter valor de "21" ou "22" ou "23", Button Radio "Group_01aai0" pode ter valor de "21" ou "22" ou "23", etc.
No banco de dados, tenho todos os códigos (01drn0, 01aai0, 01aui0, etc.), então quero selecioná -los em db e iterar no valor dos parâmetros para que eu possa obter o valor do grupo de botões de rádio, tentei isso sem sorte:
@codes=Code.get_codes
for c in @codes
@all=params[:group_] + c.name
end
Obrigado.
Solução
Params parecem um hash, mas realmente não é. Portanto, se você precisar "aumentar" os parâmetros ao lidar com os dados recebidos no seu controlador, invente uma nova estrutura de dados que inclua params ou seus membros.
Adicionado:
Talvez você esteja procurando
@codes=Code.get_codes
@all = []
for c in @codes
@all << params["group_#{c.name}"]
end
Outras dicas
p = params
p[:new_param_name] = new_param_value
Funciona para mim (Rails 3.2). NOTA: Usando p
em vez de alterar params
Evita alterar os parâmetros originais.