module ActionView::Helpers::AssetTagHelper alias_method :rails_javascript_include_tag, :javascript_include_tag # Adds a new option to Rails' built-in javascript_include_tag # helper - :unobtrusive. Works in the same way as :defaults - specifying # :unobtrusive will make sure the necessary javascript # libraries and behaviours file +script+ tags are loaded. Will happily # work along side :defaults. # # <%= javascript_include_tag :defaults, :unobtrusive %> # # This replaces the old +unobtrusive_javascript_files+ helper. def javascript_include_tag(*sources) if sources.delete :unobtrusive sources = sources.concat( ['lowpro', behaviours_url] ).uniq end rails_javascript_include_tag(*sources) end protected def behaviours_url action_path = @controller.request.path == '/' ? '/index' : @controller.request.path "/behaviours#{action_path}.js" end end