Ruby on Rails
Friday, February 25, 2011
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 <chab...@gmail.com> wrote:
So is this the correct way:
def create
bad =[]
beginend
@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
endOn 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 <cha...@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
endTo post to this group, send email to rubyo...@googlegroups.com.--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group, send email to rubyonra...@googlegroups.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 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+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment