Como alterar uma enquete enquanto ela está ativa (sem perder os dados)

Descobri que quando meus usuários começam com enquetes, eles cometem todo tipo de erros que muitas vezes não são percebidos até que a enquete esteja em andamento.

Infelizmente, qualquer edição em uma enquete apaga os dados da enquete. Isso é compreensível para a integridade da enquete, mas às vezes é altamente indesejável quando um simples ajuste pode resolver um grande problema para o usuário.

No entanto, é possível fazer isso através do console do Rails. Modificar uma enquete ativa altera o comportamento da enquete, preservando os dados, mas o markdown não é alterado. Não tenho certeza do que acontece quando você reprocessa a postagem, mas suspeito que a enquete voltará ao seu comportamento original. Até lá, provavelmente estará antiga e esquecida, então isso não é um grande problema.

A chave é encontrar o ID da postagem; uma maneira fácil de encontrá-lo é com esta consulta SQL (a enquete de interesse deve estar perto do topo):

SELECT post_id as postid, *
FROM polls
ORDER BY id desc

Aqui está um exemplo de modificação de enquete, para quando o usuário acidentalmente fez uma enquete de escolha única em vez de múltipla:

Poll.find_by_post_id(75571).update(type:1,min:1,max:4)

Você deve ser capaz de juntar outras modificações a partir da consulta e desse ponto de partida.

4 curtidas

Movi este para Installation em vez de mantê-lo como um guia endossado, pois se enquadra no escopo de ‘contornar a interface do usuário no Rails’ (semelhante ao e-mail em um anterior).

Acho que poderíamos ter algum tipo de meio-termo para essas dicas, pois elas são úteis, mas têm um elemento de ‘por sua conta e risco’. Vou verificar novamente e ver quais são as opiniões atuais. :+1:

1 curtida

Talvez uma tag a mais fosse útil, como #dica-não-oficial ou #cavar-a-própria-cova. Então as categorias poderiam ser mais… sobre o assunto, mas haveria um indicador dizendo que há demanda de algum conhecimento e um risco de falhar miseravelmente.

3 curtidas

Essa é uma boa dica.

Eu geralmente executo um Tópico para criar um rascunho de um esboço de enquete e convido membros seniores para sugerir melhorias ou opções ausentes.

Depois, eu executo a enquete.

4 curtidas

Sim, eu também faço isso, especialmente para enquetes muito importantes.

Mas também quero incentivar meus usuários a fazerem isso de forma independente, e isso significa apoiá-los enquanto aprendem e inevitavelmente cometem erros.

1 curtida

Por que não podemos simplesmente corrigir isso na interface do usuário? Integridade da enquete, blá blá blá. Geralmente é apenas um erro de digitação, e deixá-lo lá me incomoda, mas é melhor do que apagar os votos. … Eu não deveria ter que fazer essa escolha.

E por que não mudar depois, se um administrador quiser? Às vezes, as enquetes são apenas divertidas, e preservar a “integridade” definitivamente não é a prioridade máxima. O fato de tudo explodir mesmo se você permitir a edição posterior torna essa configuração inútil. Deveríamos poder ter uma configuração onde permitimos a edição sem perder votos… se é assim que queremos administrar nosso site.

4 curtidas