Good notes posted by subblue

RSS feed
August 3, 2008 - (v2.0.0 - v2.1.0)
6 thanks

Cross browser issues

We use jQuery as our Javascript library of choice, but have to use a work around for full cross-browser support.

In jQuery you need to set the AJAX request headers as:


beforeSend: function(xhr) {xhr.setRequestHeader(“Accept”, “text/javascript”);}


But we found that IE and Safari sends headers like: HTTP_ACCEPT=>“text/html, /, text/javascript”, with the javascript header last so this mucks up the respond_to block as it will always enter the first block (usually format.html) and never reach your format.js block.

We have a before filter called on required actions that forces the request format to be javascript if it is an xml_http_request?

def fix_xml_http_request
  if request.xml_http_request?
    request.format = :js
June 26, 2008
8 thanks

Handy for adding theme support

I’m using this to add basic theme support to my app:

append_view_path(File.join(RAILS_ROOT, "app/themes/#{@current_theme}"))
append_view_path(File.join(RAILS_ROOT, 'app/themes/_base'))

Common templates go in app/themes/_base and then you can override these with specific theme versions in each theme directory.