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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top