Chris@909: # == Using plugin assets for form tag helpers Chris@909: # Chris@909: # It's as easy to use plugin images for image_submit_tag using Engines as it is for image_tag: Chris@909: # Chris@909: # <%= image_submit_tag "my_face", :plugin => "my_plugin" %> Chris@909: # Chris@909: # --- Chris@909: # Chris@909: # This module enhances one of the methods from ActionView::Helpers::FormTagHelper: Chris@909: # Chris@909: # * image_submit_tag Chris@909: # Chris@909: # This method now accepts the key/value pair :plugin => "plugin_name", Chris@909: # which can be used to specify the originating plugin for any assets. Chris@909: # Chris@909: module Engines::RailsExtensions::FormTagHelpers Chris@909: def self.included(base) Chris@909: base.class_eval do Chris@909: alias_method_chain :image_submit_tag, :engine_additions Chris@909: end Chris@909: end Chris@909: Chris@909: # Adds plugin functionality to Rails' default image_submit_tag method. Chris@909: def image_submit_tag_with_engine_additions(source, options={}) Chris@909: options.stringify_keys! Chris@909: if options["plugin"] Chris@909: source = Engines::RailsExtensions::AssetHelpers.plugin_asset_path(options["plugin"], "images", source) Chris@909: options.delete("plugin") Chris@909: end Chris@909: image_submit_tag_without_engine_additions(source, options) Chris@909: end Chris@909: end Chris@909: Chris@909: module ::ActionView::Helpers::FormTagHelper #:nodoc: Chris@909: include Engines::RailsExtensions::FormTagHelpers Chris@909: end Chris@909: