8d2495ececc02f79f0bcc39a33d1656c

Inherited this from an older project. How would you go about cleaning up/condensing this huge controller action?

def create
    # SWFUpload upload
    if params[:Filedata]
      @file = ProjectFile.new(:swf_uploaded_data => params[:Filedata])
      conditions = { :account_id => current_account.id,
                     :directory_id => params[:project_file] ? params[:project_file][:directory_id] : nil,
                     :filename => @file.data_file_name }
      if ProjectFile.exists?(conditions)
        @file = ProjectFile.find(:first, :conditions => conditions)
        @file.swf_uploaded_data = params[:Filedata]
      end
      @file.account = current_account
      if params[:project_file] && params[:project_file][:directory_id]
        @file.directory = Directory.find(params[:project_file][:directory_id])
      end
      @file.filename = @file.data_file_name
      @file.save
      render :nothing => true
    else
      # Standard upload
      @file = ProjectFile.new(params[:project_file])
      conditions = { :account_id => current_account.id,
                     :directory_id => params[:project_file][:directory_id],
                     :filename => @file.data_file_name }
      if ProjectFile.exists?(conditions)
        @file = ProjectFile.find(:first, :conditions => conditions)
        @file.data = params[:project_file][:data]
      end
      @file.account = current_account
      @file.filename = @file.data_file_name
    
      if @file.save
        flash[:notice] = "File saved"
        @file.directory ? redirect_to(directory_path(@file.directory)) : redirect_to(directories_path)
      else
        render :action => :new
      end
    end
  end

Refactorings

No refactoring yet !

8133ee52ca72188132b5c7d97dfb967f

Chris

May 1, 2010, May 01, 2010 23:07, permalink

No rating. Login to rate!

Move it to the model is the first step.

F69790808a2908eeb3e14ff1166e07f1

VefDyenny

May 26, 2011, May 26, 2011 00:13, permalink

No rating. Login to rate!

интим знакомства на ночь Новая Усмань знакомства на рамблере sexwa http://vkontaitba.krovatka.su/
г салават знакомства

Your refactoring





Format Copy from initial code

or Cancel