Module: InPlaceEditing::ClassMethods

Defined in:
lib/branston/vendor/plugins/in_place_editing/lib/in_place_editing.rb

Overview

Example:

# Controller
class BlogController < ApplicationController
  in_place_edit_for :post, :title
end

# View
<%= in_place_editor_field :post, 'title' %>

Instance Method Summary collapse

Instance Method Details

#in_place_edit_for(object, attribute, options = {}) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/branston/vendor/plugins/in_place_editing/lib/in_place_editing.rb', line 17

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