Sha256: 0f50084878c8e6b423c710e6967b7be0625e60135972c018e22c18f32329503f
Contents?: true
Size: 1.75 KB
Versions: 4
Compression:
Stored size: 1.75 KB
Contents
module CropImageRiffpad module ControllerMethod def crop_image(model_name, attachment_name, style) # model_name = "user" => class User | model_name = "user_photo" => UserPhoto [:update, :create].each do |action_name| define_method action_name do # define action update for controller if params[:action].to_s == "update" @object = ActiveSupport::Inflector.constantize(ActiveSupport::Inflector.classify(model_name)).find(params[:id]) @object.attributes = params[model_name.to_sym] else @object = ActiveSupport::Inflector.constantize(ActiveSupport::Inflector.classify(model_name)).new(params[model_name.to_sym]) end if @object.save params[:id] = @object.id if params[:crop] == "true" redirect_to self.send("#{model_name}_url", @object) else if params[model_name.to_sym] and params[model_name.to_sym][attachment_name.to_sym].blank? responds_to_parent do render :js => "document.location = \"#{escape_javascript(self.send("#{model_name}_url", @object))}\"" end else responds_to_parent do crop_action_content = render_to_string :action => :crop render :js => "renderFancyBoxWithContent('#{escape_javascript(crop_action_content)}');" end end end else edit_action_content = render_to_string :action => params[:action] responds_to_parent do render :js => "$('#container').html('#{escape_javascript(edit_action_content)}');" end end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems