1

我正在尝试为 Paperclip 实现 Jcrop,我已经完成了 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
4

1 回答 1

2

这解决了我的问题。它可能非常具体,永远不会帮助任何人,但无论如何,这就是答案。感谢@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
于 2013-05-16T14:55:35.220 回答