# Model error\_messages\_for

**URL:** <https://www.ruby-forum.com/t/model-error-messages-for/143795>\
**Category:** Rails\
**Created:** [July 22, 2008, 8:45pm UTC](https://www.ruby-forum.com/t/model-error-messages-for/143795 "2008-07-22T20:45:58Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jturney](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jturney](https://www.ruby-forum.com/u/jturney)\
**Post date:** [July 22, 2008, 8:45pm UTC](https://www.ruby-forum.com/t/model-error-messages-for/143795/1 "2008-07-22T20:45:58Z")

</div>

I have this in my form view:

\<%= error\_messages\_for ‘post’ %\>

I’m not using form\_for, just a regular form\_tag:  
\<% form\_tag :action =\> ‘save\_requirement’ do %\>

The error messages do not pop up, any suggestions?

Thanks!

---

<div class="post-metadata">

**Author:** ![jturney](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jturney](https://www.ruby-forum.com/u/jturney)\
**Post date:** [July 22, 2008, 9:24pm UTC](https://www.ruby-forum.com/t/model-error-messages-for/143795/2 "2008-07-22T21:24:56Z")

</div>

On 22 Jul 2008, at 19:45, Justin To wrote:

> I have this in my form view:
> 
> \<%= error\_messages\_for ‘post’ %\>
> 
> I’m not using form\_for, just a regular form\_tag:  
> \<% form\_tag :action =\> ‘save\_requirement’ do %\>
> 
> The error messages do not pop up, any suggestions?

is @post an instance of an activerecord object with some errors?

Fred

---

<div class="post-metadata">

**Author:** ![jturney](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jturney](https://www.ruby-forum.com/u/jturney)\
**Post date:** [July 22, 2008, 9:39pm UTC](https://www.ruby-forum.com/t/model-error-messages-for/143795/3 "2008-07-22T21:39:21Z")

</div>

> is @post an instance of an activerecord object with some errors?
> 
> Fred

Yes,

controller:

def new\_requirement  
@post = Post.new  
end

def save\_requirement  
@post = Post.new(params[:post])

```
  if @post.save
    redirect_to_index("Thank you for your post!")
  else
    redirect_to :action => :new_requirement
  end

```

end

---

<div class="post-metadata">

**Author:** ![jturney](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jturney](https://www.ruby-forum.com/u/jturney)\
**Post date:** [July 22, 2008, 10:33pm UTC](https://www.ruby-forum.com/t/model-error-messages-for/143795/4 "2008-07-22T22:33:21Z")

</div>

Ah! Great David!

Thanks so much, it works!

---

<div class="post-metadata">

**Author:** ![jturney](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e99b99/32.png) [@jturney](https://www.ruby-forum.com/u/jturney)\
**Post date:** [July 22, 2008, 10:06pm UTC](https://www.ruby-forum.com/t/model-error-messages-for/143795/5 "2008-07-22T22:06:38Z")

</div>

Hi –

On Tue, 22 Jul 2008, Justin To wrote:

> def new\_requirement  
> redirect\_to :action =\> :new\_requirement  
> end  
> end

In the failure case, you don’t want to redirect; you want to render.  
Redirecting triggers a completely new request cycle, with a new  
controller instance, and all instance variables are reset to nil. So  
@post will be back to being a new Post instance, which will not have  
any errors, so no errors will be displayed.

If you render, on the other hand, you’ll just be rendering the  
new\_requirement template with the existing @post object, which does  
have errors.

David

–  
Rails training from David A. Black and Ruby Power and Light:  
Intro to Ruby on Rails July 21-24 Edison, NJ

- Advancing With Rails August 18-21 Edison, NJ
- Co-taught by D.A. Black and Erik Kastner  
See [http://www.rubypal.com](http://www.rubypal.com) for details and updates!
