Sha256: 5f5be9832e0e253bab6d37ad0c9df5a09d9b3190489974c95483e4e7274a3001

Contents?: true

Size: 1.58 KB

Versions: 6

Compression:

Stored size: 1.58 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

    def loadbehind_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
      controller_action = (ass_info.macro==:belongs_to) ? :show : :index

      if ass_info.macro == :belongs_to
        link_to name, :controller=>ass_controller,
                      :action=>:show,
                      :id=>object.send(ass_info.association_foreign_key),
                      :container=>object.element_id(association),
                      :remote=>true
      else
        form_tag({:controller=>ass_controller, :action=>:index},
                  :method=>:get, :remote=>true, :id=>object.element_id(:show, association)) do
          concat  hidden_field(:associated, :class_name, :value=>object.class.name) +
                  hidden_field(:associated, :id, :value=>object.id) +
                  hidden_field(:associated, :association, :value=>association.to_s) +
                  link_to(name,{},{:href=>"#", "data-submit"=>object.element_id(:show, association)})
        end
      end
    end
  end
end

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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
casey_jones-0.0.106 lib/ajax_loading/application_helpers.rb
casey_jones-0.0.105 lib/ajax_loading/application_helpers.rb
casey_jones-0.0.104 lib/ajax_loading/application_helpers.rb
casey_jones-0.0.103 lib/ajax_loading/application_helpers.rb
casey_jones-0.0.102 lib/ajax_loading/application_helpers.rb
casey_jones-0.0.101 lib/ajax_loading/application_helpers.rb