Ajax post raise error

Hi,

within my rails application i have a view which does an ajax call for
saving data. what i’d like to do is raise an exception within my
controller that causes the onFailure event to be triggered. for
example

begin
Orderitem.destroy(params[:id])
render :text => “order item deleted”
rescue Exception => e
flash[:notice] = e.message
end

when an exception is captured i.e the rescue exception, how can i
raise an exception; in other langages/platforms i’d construct a 406
(if i remember correctly) response and write a nice message which
would then be captured by the ajax call and prompt the user.

any help would be greatly appreciated.

thanks

It is not wise to rescue just Exception, try to rescue something more
specific, like an ActiveRecord::RecordNotFound or something.

The reason for this is because if something else errors in your code,
you’ll
still have it rescuing the exception and throwing a false error message.

On Jan 10, 2008 9:25 AM, hiddenhippo [email protected] wrote:

 render :text => "order item deleted"

thanks


Ryan B.

Feel free to add me to MSN and/or GTalk as this email.

hiddenhippo wrote:

rescue Exception => e

thanks

With Rails 2.0 you can now return the status along with the rendered
text. Something like:
begin
Orderitem.destroy(params[:id])
render :text => “order item deleted”
rescue ActiveRecordError => e
render :text => e.message, :status => 406
end

HTH
Christ

Autopendium :: Stuff about old cars
http://autopendium.com