No 1o IF está escrito @lreposta ao invés de @lresposta.
Se isso não resolver, cole o erro completo aqui.
On Jul 20, 2010 9:08 AM, "Juliana Cindra" <juci...@gmail.com> wrote:
> Olá pessoal, bom dia
>
> Tenho uma action q deve verificar se a resposta de uma determinada pergunta
> que está salva no banco é do tipo 'nota','texto' ou 'multiplaescolha', pra
> isso eu preciso saber quando estes campos estão nulos, tipo:
>
> @lresposta = Resposta.find(:all, :conditions => ["pergunta_id = ?",
> @idpergunta])
> if (@lreposta[:nota].nil?)
> redirect_to :action => "grafico_pizza"
> elseif (@lresposta[:alternativa_id].nil?)
> redirect_to :action => "grafico_barra"
> elseif
> puts "Pergunta Discursiva"
> end
>
> Só que desta forma me retorna este erro aqui:
>
> You have a nil object when you didn't expect it!
>
> You might have expected an instance of ActiveRecord::Base.
> The error occurred while evaluating nil.[]
>
>
> Eutinha feito desta forma abaixo mas dava erro do segundo elseif, procurei
> alguns exemplos de como era a sintaxe pra eu poder fazer esta comparação,
> mas nao deu certo. Eu preciso comparar se o campo nota e multiplaescolha são
> nulos, caso os dois sejam nulos me mostra aquele texto do 2º elseif.
>
> @lresposta = Resposta.find(:all, :conditions => ["pergunta_id = ?",
> @idpergunta])
> if (@lreposta[:nota].nil?)
> redirect_to :action => "grafico_barra"
> elseif (@lresposta[:alternativa_id].nil?)
> redirect_to :action => "grafico_pizza"
> elseif ({@lresposta[:nota].nil?} and {@lresposta[:alternativa].nil?})
> puts "Pergunta Discursiva"
> end
>
> Por favor, alguém tem como me ajudar nesta questão, estou começando em ruby
> on rails a pouco tempo, tenho pesquisado e lido muita coisa pra eu poder
> fazer este trab aqui, mas ainda preciso de um help. Se puderem me ajudar eu
> agradeço!
>
> Desde já muito obrigada a todos pela atenção!
>
> Sds,
>
> = Juliana Cindra =
>
> --
> Você recebeu esta mensagem porque está inscrito no Grupo "ruby-sp" em
> Grupos do Google.
> Para postar neste grupo, envie um e-mail para rub...@googlegroups.com
> Para cancelar a sua inscrição neste grupo, envie um e-mail para
> ruby-sp+u...@googlegroups.com
> Para ver mais opções, visite este grupo em
> http://groups.google.com.br/group/ruby-sp?hl=pt-BR
{@lresposta[:nota].nil?} não é válido. Tire as chaves e veja se funciona.
2010/7/20 Juliana Cindra <juci...@gmail.com>:
> Olá Jonas, consertei o 's' q estava faltando e retornou este outro erro:
>
> SyntaxError in RelgraficosController#index
>
> /home/julianacindra/Área de
> Trabalho/redmine-0.9.6/vendor/plugins/redmine_relatorios/app/controllers/relgraficos_controller.rb:39:
> odd number list for Hash
> ...seif ({@lresposta[:nota].nil?} and {@lresposta[:alternativa]...
>
>
> ^
> /home/julianacindra/Área de
> Trabalho/redmine-0.9.6/vendor/plugins/redmine_relatorios/app/controllers/relgraficos_controller.rb:39:
> odd number list for Hash
> ...@lresposta[:alternativa].nil?})
>
>
> ^
>
> = Juliana Cindra =
--
Enviado do meu datacenter
===================
Rodrigo L. M. Flores
Computer Science Msc. Student - IME - USP
Computer Science Degree - IME - USP
Homepage (en): http://www.rodrigoflores.org
Blog (pt-BR): http://blog.rodrigoflores.org
Linux User # : 351304
Jabber: i...@rodrigoflores.org
2010/7/20 Juliana Cindra <juci...@gmail.com>:
> tirei as chaves pra ver e me retornou isto:
>
> TypeError in RelgraficosController#index
>
> Symbol as array index
>
> = Juliana Cindra =
>
>
>
> Em 20 de julho de 2010 09:28, Rodrigo Flores
> <rodrigomar...@gmail.com> escreveu: