It is only catching the first rescue one when I know other validations are 
failing.

On Friday, February 25, 2011 10:20:35 PM UTC-6, bacrossland wrote:
>
> 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 <[email protected]> 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 <[email protected]> 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 [email protected].
>>>> To unsubscribe from this group, send email to 
>>>> [email protected].
>>>>
>>>> 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 [email protected].
>> To unsubscribe from this group, send email to 
>> [email protected].
>> 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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to