tratar params vazio

23 views
Skip to first unread message

Thiago Freitas

unread,
Dec 29, 2009, 9:01:51 PM12/29/09
to rail...@googlegroups.com
pessoal, o meu codigo eu tenho

@variable = params[ :cad ][ :nome ]

porem meu campo cad[nome] é dinamico, ele pode existir como pode não existir na pagina, quando o campo nao existe ele da um erro na linha

@variable = params[ :cad ][ :nome ]

isso porque meu campo não existe e o objeto veio como nulo, o erro é:

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.[]
Como trato isso?

--
"Ao que está assentado sobre o trono, e ao Cordeiro, sejam dadas ações de graças, e honra, e glória, e poder para todo o sempre." Ap 5:13

Johalf Farina

unread,
Dec 29, 2009, 9:07:39 PM12/29/09
to rail...@googlegroups.com
if @variable.blank?


Johalf Farina
+55 (51)3237 1829
+55 (51)8487 1402

  Twitter
  Github
  Working with Rails
  www.fande.com.br


2009/12/30 Thiago Freitas <thiagos...@gmail.com>

--

Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para rails-br+u...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/rails-br?hl=pt-BR.

Diego Roriz

unread,
Dec 29, 2009, 9:31:01 PM12/29/09
to rail...@googlegroups.com
Exemplificando a resposta do Johalg, você pode fazer

@variable = params[:cad][:nome] unless params[:cad].blank?

[]'s
Diego Roriz

2009/12/30 Thiago Freitas <thiagos...@gmail.com>

Wilker

unread,
Dec 29, 2009, 11:14:45 PM12/29/09
to rail...@googlegroups.com
um exemplo + bizarro q tb funciona:

@variable = (params[:cad] || {})[:nome]

vai retornar null se nao tiver, mas sem dar erro =p
---
Wilker Lúcio
Gerente de Tecnologia
Caju Agência Digital
http://www.caju.nu
+55 81 87417674


2009/12/29 Diego Roriz <diego...@hotmail.com>

Diego Roriz

unread,
Dec 30, 2009, 6:50:00 AM12/30/09
to rail...@googlegroups.com
Rsrsrsrs ficou ligeiramente mais bizarro mas funciona tb rsrsrsrs :D

Diego Roriz
Rails Developer
Mobile +55 62 85560187
Chat Google Talk: viana...@gmail.com Skype: dvroriz MSN: diego...@hotmail.com
Contato TwitterFacebookLinkedinYoutube
Diego Roriz - Tecnologia e Desenvolvimento O presente de natal do Twitter: Mixer Labs


2009/12/30 Wilker <wilke...@gmail.com>
Reply all
Reply to author
Forward
0 new messages