Sha256: 162cfe53f7b99c46e48e3dffd59670283e0eea281129a121f555ec89b4670c80

Contents?: true

Size: 808 Bytes

Versions: 96

Compression:

Stored size: 808 Bytes

Contents

# encoding: utf-8
module InPlaceEditing
  def self.included(base)
    base.extend(ClassMethods)
  end

  # Example:
  #
  #   # Controller
  #   class BlogController < ApplicationController
  #     in_place_edit_for :post, :title
  #   end
  #
  #   # View
  #   <%= in_place_editor_field :post, 'title' %>
  #
  module ClassMethods
    def in_place_edit_for(object, attribute, options = {})
      define_method("set_#{object}_#{attribute}") do
        unless [:post, :put].include?(request.method) then
          return render(:text => 'Method not allowed', :status => 405)
        end
        @item = object.to_s.camelize.constantize.find(params[:id])
        @item.update_attribute(attribute, params[:value])
        render :text => CGI::escapeHTML(@item.send(attribute).to_s)
      end
    end
  end
end

Version data entries

96 entries across 96 versions & 1 rubygems

Version Path
six-updater-web-0.24.15 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.14 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.13 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.12 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.11 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.10 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.9 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.8 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.7 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.6 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.5 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.4 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.3 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.2 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.1 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.24.0 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.23.7 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.23.6 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.23.5 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb
six-updater-web-0.23.4 lib/six-updater-web/vendor/plugins/in_place_editing/lib/in_place_editing.rb