I haven’t been able to find anything built into Rails to present errors from model validation when a request is sent via AJAX.
So I came up with this handly little hack, which I’ve put in my application.rb file.
1 2 3 4 5 6 7 |
def render_javascript_alert_for_errors_on(object) errors = object.errors.full_messages alert_text = errors.collect { |error| '-' + error }.join("\n") render :update do |page| page.alert alert_text end end |
This takes the object and displays a nicely-formatted version of all the errors on that object, taking advantage of inline RJS to render the javascript to create an alert().
It works perfectly, but it still feels a little “hacky” to me. Any better ideas?




February 13th, 2007 at 09:46 PM have tried this but for some reason I get last evaluated javascript output to my page just after the alert. have had to resort rendering text inline, and setting status of ,say, 500 . shame i cant fathom why i get js output on page as this method is much tidier !
March 6th, 2007 at 09:49 AM ddf
March 6th, 2007 at 09:56 AM Men and their toyes