3

我在这里提到了同样的问题: Rails 3 中的 Multi-step form with Paperclip attachments

“TypeError in...” “无法转储文件”

但是,我似乎无法理解答案中提到的解决方案:

unless @model.valid?
  @model.image.clear
  @model.image.queued_for_write.clear
end

我把上面的行放在哪里?

这是我的控制器代码:

  def new
    session[:member_params] ||= {}
    @member = Member.new(session[:member_params])
    @member.current_step = session[:member_step]
  end

  def create
    session[:member_params].deep_merge!(params[:member]) if params[:member]
    @member = Member.new(session[:member_params])

    @member.current_step = session[:member_step]
    if @member.valid?
      if params[:back_button]
        @member.previous_step
      elsif @member.last_step?
        @member.save if @member.all_valid?
      else
        @member.next_step
      end
      session[:member_step] = @member.current_step
    end

    if @member.new_record?
      render "new"
    else
      session[:member_step] = session[:member_params] = nil
      flash[:notice] = "Personal Data Sheet saved!"
      redirect_to @member
    end
  end

我试着在声明之后把它放在这里@member,但没有用:

session[:member_params].deep_merge!(params[:member]) if params[:member]
@member = Member.new(session[:member_params])

unless @member.valid?
  @member.image.clear
  @member.image.queued_for_write.clear
end

PS我想在这里将我的问题附加到问题中: 带有回形针附件的Rails 3中的多步骤表单 但我不确定是否可以就同一问题/问题提出后续问题。

4

0 回答 0