Rails: Проблемы с перенаправлением после обрезки изображения с помощью Jcrop & paperclip

Я пытаюсь реализовать Jcrop для Paperclip, и я на 99% готов. Я могу обрезать изображение и сохранить его. Проблема в том, что после того, как изображение обрезано и сохранено, оно снова приводит меня к действию Обрезать с недавно обрезанным изображением. Поэтому он просит меня обрезать обрезанное изображение. Я не уверен, как выйти из этого. Я хочу перейти в user_path после обрезки изображения, чтобы снова не обрезать его. Вот код в моем действии обновления:

  def update
    @user.update_attributes(params[:user])
    if @user.avatar_file_name.nil?
      redirect_to :back
    else
      if params[:user].blank?
        redirect_to user_path(@user)
      else
        render :action => 'crop'
        @user.avatar.reprocess! if :cropping?
      end
    end
  end

Если у меня есть это вместо этого, то изображение не будет обрезаться. Он сохраняется как исходное изображение, и я перенаправлен на user_path:

  def update
    @user.update_attributes(params[:user])
    if @user.avatar_file_name.nil?
      redirect_to :back
    else
      if params[:user][:avatar].blank?
        redirect_to user_path(@user)
      else
        render :action => 'crop'
        @user.avatar.reprocess! if :cropping?
      end
    end
  end

1 ответ

Решение

Это решило мой вопрос. Это, вероятно, очень специфично и никогда никому не поможет, но в любом случае вот ответ. Спасибо @grotori за ваше время!

  def update
    @user.update_attributes(params[:user])
    if @user.avatar_file_name.nil?
      redirect_to :back
      elsif !params[:user][:crop_x].blank?
        @user.avatar.reprocess! 
        redirect_to edit_user_path(@user) and return
      else
        render :action => 'crop'
    end
  end
Другие вопросы по тегам