我在这里提到了同样的问题: 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中的多步骤表单 但我不确定是否可以就同一问题/问题提出后续问题。