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.

Reply via email to