Sha256: e9ddf4b9aa60a5a11f2034408ea02fc093186176998876621081938236225d91

Contents?: true

Size: 1.13 KB

Versions: 9

Compression:

Stored size: 1.13 KB

Contents

module AjaxLoading
  module ApplicationHelpers
    def ajax_box_id(object, association)
      object.element_id(:show, association)
    end
    def render_js(options={})
      "'"+escape_javascript(render(options))+"'"
    end
    def growl(title, msg, type=:info)
      "$.growl('#{title}', '#{msg}', '/images/growl/#{type}.png');"
    end

    # For loading associated objects.
    def ajax_association_link(name, object, association, options={})
      #  This should go to the controller for the association class!
      ass_info = object.class.reflect_on_association(association)
      ass_controller = options[:controller] ||= ass_info.klass.name.tableize
      options[:controller] ||= ass_controller
      options[:container] ||= object.element_id(association)

      if ass_info.macro == :belongs_to
        options[:id] ||= object.send(ass_info.association_foreign_key)
        options[:action] ||= :show
      else
        options[object.class.name.foreign_key] ||= object.id
        options[:action] ||= :index
      end
      link_to name, options, :remote=> true
    end
  end
end

ActionView::Base.send :include, AjaxLoading::ApplicationHelpers

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
casey_jones-0.0.120 lib/ajax_loading/application_helpers.rb
casey_jones-0.0.119 lib/ajax_loading/application_helpers.rb
casey_jones-0.0.118 lib/ajax_loading/application_helpers.rb
casey_jones-0.0.117 lib/ajax_loading/application_helpers.rb
casey_jones-0.0.116 lib/ajax_loading/application_helpers.rb
casey_jones-0.0.115 lib/ajax_loading/application_helpers.rb
casey_jones-0.0.114 lib/ajax_loading/application_helpers.rb
casey_jones-0.0.113 lib/ajax_loading/application_helpers.rb
casey_jones-0.0.112 lib/ajax_loading/application_helpers.rb