# :on =\> :create validation weirdness

**URL:** <https://www.ruby-forum.com/t/on-create-validation-weirdness/149905>\
**Category:** Rails\
**Created:** [September 30, 2008, 11:48pm UTC](https://www.ruby-forum.com/t/on-create-validation-weirdness/149905 "2008-09-30T23:48:30Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![daveamos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a698b9/32.png) [@daveamos](https://www.ruby-forum.com/u/daveamos)\
**Post date:** [September 30, 2008, 11:48pm UTC](https://www.ruby-forum.com/t/on-create-validation-weirdness/149905/1 "2008-09-30T23:48:30Z")

</div>

Hi there,

I’m creating a simple login form, and I want the password to be  
validated only on creation (when a user edits, they will edit their  
profile on a separate screen). Therefore, my model looks like this:

validates\_presence\_of :password, :password\_confirmation, :on =\> :create

When I break the form on purpose (don’t fill in a password on creation),  
I get this:

Missing template users/create.html.erb in view path  
cookingfriend/app/views

Why would it be doing that? I can only think it might have something to  
do with my routes? Here’s what I have:

map.resources :users

What could it be?

Thanks!

---

<div class="post-metadata">

**Author:** ![daveamos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a698b9/32.png) [@daveamos](https://www.ruby-forum.com/u/daveamos)\
**Post date:** [September 30, 2008, 11:51pm UTC](https://www.ruby-forum.com/t/on-create-validation-weirdness/149905/2 "2008-09-30T23:51:56Z")

</div>

Show your controller code.

On Tue, Sep 30, 2008 at 6:48 PM, Dave A.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I get this:
> 
> ## Thanks!
> 
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).
> 
> >

–  
Maurício Linhares  
[http://alinhavado.wordpress.com/](http://alinhavado.wordpress.com/) (pt-br) | [http://blog.codevader.com/](http://blog.codevader.com/)  
(en)  
João Pessoa, PB, +55 83 8867-7208

---

<div class="post-metadata">

**Author:** ![daveamos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a698b9/32.png) [@daveamos](https://www.ruby-forum.com/u/daveamos)\
**Post date:** [September 30, 2008, 11:54pm UTC](https://www.ruby-forum.com/t/on-create-validation-weirdness/149905/3 "2008-09-30T23:54:58Z")

</div>

```
def new
  @user = User.new
end

```

def create  
@user = User.new(params[:user])  
if request.post?  
if @user.save  
session[:user] = User.authenticate(@user.email,  
@user.password)  
flash[:message] = “You are now a member of Cooking Friend!”  
redirect\_to :action =\> “show”, :id =\> @user.id  
else  
flash[:warning] = “Uh oh. You aren’t signed up.”  
end  
end  
end

---

<div class="post-metadata">

**Author:** ![daveamos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a698b9/32.png) [@daveamos](https://www.ruby-forum.com/u/daveamos)\
**Post date:** [October 1, 2008, 12:02am UTC](https://www.ruby-forum.com/t/on-create-validation-weirdness/149905/4 "2008-10-01T00:02:12Z")

</div>

That did it. Duh. 🙂 Thanks a lot!

---

<div class="post-metadata">

**Author:** ![daveamos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/a698b9/32.png) [@daveamos](https://www.ruby-forum.com/u/daveamos)\
**Post date:** [September 30, 2008, 11:58pm UTC](https://www.ruby-forum.com/t/on-create-validation-weirdness/149905/5 "2008-09-30T23:58:24Z")

</div>

Here’s how it should be:

def new  
@user = User.new  
end

def create  
@user = User.new(params[:user])  
if request.post?  
if @user.save  
session[:user] = User.authenticate(@user.email, @user.password)  
flash[:message] = “You are now a member of Cooking Friend!”  
redirect\_to :action =\> “show”, :id =\> @user.id  
else  
flash[:warning] = “Uh oh. You aren’t signed up.”  
render :action =\> “new” #this is the missing line  
end  
end  
end

On Tue, Sep 30, 2008 at 6:54 PM, Dave A.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> @user.password)
> 
> >

–  
Maurício Linhares  
[http://alinhavado.wordpress.com/](http://alinhavado.wordpress.com/) (pt-br) | [http://blog.codevader.com/](http://blog.codevader.com/)  
(en)  
João Pessoa, PB, +55 83 8867-7208
