# Check if error\_messages\_for is set

**URL:** <https://www.ruby-forum.com/t/check-if-error-messages-for-is-set/173892>\
**Category:** Rails\
**Created:** [August 17, 2009, 8:31pm UTC](https://www.ruby-forum.com/t/check-if-error-messages-for-is-set/173892 "2009-08-17T20:31:22Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![paulbutcher](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@paulbutcher](https://www.ruby-forum.com/u/paulbutcher)\
**Post date:** [August 17, 2009, 8:31pm UTC](https://www.ruby-forum.com/t/check-if-error-messages-for-is-set/173892/1 "2009-08-17T20:31:22Z")

</div>

How do I check if error\_messages\_for is set?

---

<div class="post-metadata">

**Author:** ![paulbutcher](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@paulbutcher](https://www.ruby-forum.com/u/paulbutcher)\
**Post date:** [August 17, 2009, 9:28pm UTC](https://www.ruby-forum.com/t/check-if-error-messages-for-is-set/173892/2 "2009-08-17T21:28:57Z")

</div>

On Aug 17, 7:31 pm, Pål Bergström [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> How do I check if error\_messages\_for is set?

error\_messages\_for is a method, I assume what you meant to ask was how  
to check whether there are any errors. You can either call valid? or  
look at your\_ar\_object.errors

Fred

---

<div class="post-metadata">

**Author:** ![paulbutcher](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@paulbutcher](https://www.ruby-forum.com/u/paulbutcher)\
**Post date:** [August 17, 2009, 10:04pm UTC](https://www.ruby-forum.com/t/check-if-error-messages-for-is-set/173892/3 "2009-08-17T22:04:00Z")

</div>

Frederick C. wrote:

Hmm. Ok. How do I check if a params part of the model is set? If run:

if params[:kind]

it’s ok. But when I test with

if params[:company][:kind]

it returns “The error occurred while evaluating nil.[]”

---

<div class="post-metadata">

**Author:** ![paulbutcher](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@paulbutcher](https://www.ruby-forum.com/u/paulbutcher)\
**Post date:** [August 17, 2009, 10:13pm UTC](https://www.ruby-forum.com/t/check-if-error-messages-for-is-set/173892/4 "2009-08-17T22:13:27Z")

</div>

On Aug 17, 9:04 pm, Pål Bergström [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> Frederick C. wrote:
> 
> Hmm. Ok. How do I check if a params part of the model is set? If run:
> 
> if params[:kind]

That doesn’t check the model at all, you’re just looking at the  
submitted parameters. Or am I misunderstanding the question

> it’s ok. But when I test with
> 
> if params[:company][:kind]
> 
> it returns “The error occurred while evaluating nil.[]”

if the parameters may or may not be there you need to check whether  
params[:company] exists before you can look at params[:company][:kind]

Fred

---

<div class="post-metadata">

**Author:** ![paulbutcher](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@paulbutcher](https://www.ruby-forum.com/u/paulbutcher)\
**Post date:** [August 17, 2009, 10:11pm UTC](https://www.ruby-forum.com/t/check-if-error-messages-for-is-set/173892/5 "2009-08-17T22:11:41Z")

</div>

2009/8/17 PÃ¥l BergstrÃ¶m [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Hmm. Ok. How do I check if a params part of the model is set? If run:
> 
> if params[:kind]
> 
> it’s ok. But when I test with
> 
> if params[:company][:kind]
> 
> it returns “The error occurred while evaluating nil.[]”

Look at the error carefully, if it is finding nil.[] then maybe either  
params is nil (unlikely unless you typed it incorrectly) or  
params[:company] is nil. Look in the log file (in your application  
log folder) it will show you the parameters posted.

Colin

---

<div class="post-metadata">

**Author:** ![paulbutcher](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@paulbutcher](https://www.ruby-forum.com/u/paulbutcher)\
**Post date:** [August 17, 2009, 10:26pm UTC](https://www.ruby-forum.com/t/check-if-error-messages-for-is-set/173892/6 "2009-08-17T22:26:03Z")

</div>

PÃ¥l BergstrÃ¶m wrote:

What a long way for a simple answer, that I knew before. Why on earth  
check error\_messages\_for when I have params[my\_model] 🙂

Thanks for the help.

---

<div class="post-metadata">

**Author:** ![paulbutcher](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@paulbutcher](https://www.ruby-forum.com/u/paulbutcher)\
**Post date:** [August 17, 2009, 10:20pm UTC](https://www.ruby-forum.com/t/check-if-error-messages-for-is-set/173892/7 "2009-08-17T22:20:43Z")

</div>

Frederick C. wrote:

> On Aug 17, 9:04ï¿½pm, Pï¿½l Bergstrï¿½m [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> wrote:

> That doesn’t check the model at all, you’re just looking at the  
> submitted parameters. Or am I misunderstanding the question

It’s a submitted parameters. 🙂

> if the parameters may or may not be there you need to check whether  
> params[:company] exists before you can look at params[:company][:kind]

Thanks. That might be it.
