I try to save my variable in an action to call it from another action in my controller. I use session to save it like below:
def upload_with_dropzone
if params[:document]
@resume = @p.documents.new(document_params)
if verify_recaptcha(model: @resume)
@resume.save
session[:resume_id] = @resume.id
redirect_to prospect_upload_path
else
flash[:error] = "Cannot upload image"
redirect_to prospect_upload_path
end
end
In other action I call session[:resume_id]
but it return nil
def upload_resume
if session[:resume_id].present?
@resume = Document.find(session[:resume_id])
elsif params[:interaction] && (1..5).include?(params[:interaction][:interaction_rating].to_i)
@resume = @p.documents.last
@itr.update(interaction_feedback_params)
else
@resume = @p.documents.new
end
end
Below is my routes.rb
:
match "/upload" => "upload#upload_resume", via: [:get, :post]
post "/upload_resume" => "upload#upload_via_dropzone"
Something was wrong, please give me an idea!
I put byebug
after session[:resume_id] = @resume.id
line, and I debug the session[:resume_id]