Hi all I wrote a small form and I am trying to check if the fields are populated. My Model is: class Contact < ActiveRecord::Base validates_presence_of :name, :email, :body validates_length_of :body, :maximum =>2000 end -----Controller class ContactController < ApplicationController def new @contact = Contact.new end def create @contact = Contact.new(params[:contact]) @contact.save end end ------Viewers New view <%= error_messages_for :contact %> <% form_for @contact, :url => { :action => ''create'' }, :html => { :method => :post } do |f| %> <fieldset> <legend>Please send your message: </legend> <p><label>Your Name:<br /><%= f.text_field :name, :size => 25 %></label></p> <p><label>Your email:<br /> <%= f.text_field :email, :size => 25 %></label></p> <p><label>Message:<br /><%= f.text_area :body, :rows => 10, :cols => 30 %></label></p> <p><label><%= submit_tag ''Submit'' %> </label></p> </fieldset> <% end %> Create view <h2>Thank you for your interest in my site</h2> When the entry fields are not populated the forms shows the create view and does not show any error message. why? thanks -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> Hi all > > I wrote a small form and I am trying to check if the fields are > populated. > > My Model is: > class Contact < ActiveRecord::Base > validates_presence_of :name, :email, :body > validates_length_of :body, :maximum =>2000 > end > > -----Controller > class ContactController < ApplicationController > def new > @contact = Contact.new > end > def create > @contact = Contact.new(params[:contact]) > @contact.save > end > end > > ------Viewers > > New view > > <%= error_messages_for :contact %> > > <% form_for @contact, :url => { :action => ''create'' }, :html => { > :method => :post } do |f| %> > <fieldset> > <legend>Please send your message: </legend> > <p><label>Your Name:<br /><%= f.text_field :name, :size => 25 > %></label></p> > <p><label>Your email:<br /> <%= f.text_field :email, :size => 25 > %></label></p> > <p><label>Message:<br /><%= f.text_area :body, :rows => 10, :cols => > 30 > %></label></p> > <p><label><%= submit_tag ''Submit'' %> </label></p> > </fieldset> > <% end %> > > > Create view > <h2>Thank you for your interest in my site</h2> > > > > > When the entry fields are not populated the forms shows the create > view > and does not show any error message. why?Because you aren''t doing anything in the create action to adjust the result if there is a failure. You want something more like this: def create @contact = Contact.new(params[:contact]) unless @contact.save render :action => ''new'' return end end Or this which is pretty close to the default generated by Rails scaffolding. def create @contact = Contact.new(params[:contact]) if @contact.save flash[:notice] = ''Contact was successfully created.'' redirect_to(contact_path(@contact)) else render :action => "new" end end --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
thanks!!! -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---