It looks fine but you have to run it to make sure it catches what you want it too.
B. On Fri, Feb 25, 2011 at 9:45 PM, Me <chabg...@gmail.com> wrote: > So is this the correct way: > > def create > bad =[] > begin > > @tour_type = TourType.new(params[:tour_type]) > if @tour_type.save > render :update do |page| > page << "Redbox.close;" > page.call "ProtoGrowl.success", "Succesfully created #{@ > tour_type.name}" > end > end > rescue ActiveRecord::MultiparameterAssignmentErrors > if params[:tour_type][:usual_price_number].blank? > bad << "Usual price must not be 0.00" > end > > > rescue ActiveRecord::RecordInvalid > bad << "#{@tour_type.errors.full_messages}" > > end > > unless bad.empty? > flash.now[:error] = "#{bad.length} Errors have occured in this form" > flash.now[:items] = bad > render :update do |page| > page[:flash].replace_html :partial => 'shared/flash_box' and return > end > end > end > > On Friday, February 25, 2011 9:37:05 PM UTC-6, bacrossland wrote: > >> That is because you did not setup your error handling correctly. A rescue >> block is done within a begin and end. You don't have that. You have rescues >> just tossed into your code. The format should look something like this: >> >> begin >> puts 10/0 #Bad code which will throw a ZeroDivisionError >> rescue ZeroDivisionError >> puts "Stop dividing by zero or the universe will end!" >> end >> >> See the docs on error handling for more information. >> >> http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_exceptions.html >> >> Thanks, >> B. >> >> On Fri, Feb 25, 2011 at 9:17 PM, Me <chab...@gmail.com> wrote: >> >>> I have this code below, it still gives me the error, >>> ActiveRecord::MultiparameterAssignmentErrors. It is not catching the rescue >>> for some reason. Ideas? >>> >>> def create >>> bad =[] >>> @tour_type = TourType.new(params[:tour_type]) >>> if @tour_type.save >>> render :update do |page| >>> page << "Redbox.close;" >>> page.call "ProtoGrowl.success", "Succesfully created #{@ >>> tour_type.name}" >>> end >>> end >>> rescue ActiveRecord::MultiparameterAssignmentErrors >>> if params[:tour_type][:usual_price_number].blank? >>> bad << "Usual price must not be 0.00" >>> end >>> >>> rescue ActiveRecord::RecordInvalid >>> bad << "#...@tour_type.errors.full_messages}" >>> >>> unless bad.empty? >>> flash.now[:error] = "#{bad.length} Errors have occured in this form" >>> >>> flash.now[:items] = bad >>> render :update do |page| >>> page[:flash].replace_html :partial => 'shared/flash_box' and >>> return >>> end >>> 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 rubyonra...@googlegroups.com. >>> To unsubscribe from this group, send email to >>> rubyonrails-ta...@googlegroups.com. >>> >>> For more options, visit this group at >>> http://groups.google.com/group/rubyonrails-talk?hl=en. >>> >> >> -- > 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@googlegroups.com. > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > -- 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@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.