# Error\_message\_for not working

**URL:** <https://www.ruby-forum.com/t/error-message-for-not-working/105298>\
**Category:** Rails\
**Created:** [May 28, 2007, 4:57pm UTC](https://www.ruby-forum.com/t/error-message-for-not-working/105298 "2007-05-28T16:57:34Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tarscher](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@Tarscher](https://www.ruby-forum.com/u/Tarscher)\
**Post date:** [May 28, 2007, 4:57pm UTC](https://www.ruby-forum.com/t/error-message-for-not-working/105298/1 "2007-05-28T16:57:34Z")

</div>

hi all,

I try to get error\_message\_for to get to work on my dorm. No luck…

For some reason the view doesn’t show me the error message when I for  
example leave out the first\_name

Some has a clue what I’m doing wrong?

Thanks,  
Stijn

I use a helperform to create a new user:

## New user
\<%= error\_messages\_for 'user' %\> \<%= form\_tag new\_user\_path %\> first\_name: \<%= text\_field('user', 'first\_name') %\>  
 last\_name: \<%= text\_field('user', 'last\_name') %\>  
 email: \<%= text\_field('user', 'email') %\>  
 \<%= end\_form\_tag %\>

the controller  
def new  
@user = User.new(params[:user])  
if @user.save  
flash[:notice] = “Nieuwe gebruiker aangemaakt”  
end  
redirect\_to :back  
end

the model  
class User \< ActiveRecord::Base  
has\_and\_belongs\_to\_many :nodes  
has\_many :posts  
validates\_presence\_of :first\_name, :last\_name  
end

---

<div class="post-metadata">

**Author:** ![Tarscher](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@Tarscher](https://www.ruby-forum.com/u/Tarscher)\
**Post date:** [May 28, 2007, 10:13pm UTC](https://www.ruby-forum.com/t/error-message-for-not-working/105298/2 "2007-05-28T22:13:13Z")

</div>

Apparently the problem is caused by the redirect\_to :back . I need to  
use render to preserve the errors.

The problem is that I call the new method in my partial, used in  
different views. I thus need to redirect back. Can I use render to  
send me back to the previous page?  
Thanks,  
Stijn

---

<div class="post-metadata">

**Author:** ![Tarscher](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@Tarscher](https://www.ruby-forum.com/u/Tarscher)\
**Post date:** [July 20, 2007, 3:26am UTC](https://www.ruby-forum.com/t/error-message-for-not-working/105298/3 "2007-07-20T03:26:25Z")

</div>

yep, i want to know that too.  
how use error\_message\_for on redirect\_to action ?  
who’s know that?  
i know use flash only:

def new  
@user = User.new(params[:user])  
if @user.save  
flash[:notice] = “Nieuwe gebruiker aangemaakt”  
else  
flash[:error] = @user.errors.each {|field, msg| error \<\< msg +  
‘  
’ }  
end  
redirect\_to :back  
end
