diff --git a/app/controllers/packages_controller.rb b/app/controllers/packages_controller.rb index 3893178..9f2b96d 100644 --- a/app/controllers/packages_controller.rb +++ b/app/controllers/packages_controller.rb @@ -111,8 +111,13 @@ class PackagesController < ApplicationController # TODO # if @invalid_images… # ' #{image.image_file_name} (#{image.errors[:image].join(' and ')}) - - redirect_to package_path + + respond_to do |format| + format.html { redirect_to package_path } + # TODO: send all_errors back as JSON and make Javascript display it in #messages + format.json { render :json => true } + end + # render :details end diff --git a/config/routes.rb b/config/routes.rb index dc80088..1e9e56c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -27,8 +27,8 @@ Rails.application.routes.draw do # get 'package_reviews/:name' => 'packages#reviews', as: :package_reviews, name: /[^\/]+/ get 'upload', to: redirect('/packages'), as: :upload_legacy # legacy upload form post 'uploadfile' => 'packages#legacy_uploadfile', name: /[^\/]+/ - get 'upload/:name' => 'packages#upload', as: :upload, name: /[^\/]+/ - post 'upload/:name' => 'packages#upload_receive', as: :upload_receive, name: /[^\/]+/ + get 'upload/:name' => 'packages#upload', as: :upload + post 'upload/:name' => 'packages#upload_receive', as: :upload_receive # TODO: "get" is probably the wrong method to delete a screenshot get 'delete_screenshot/:id' => 'packages#delete_screenshot', as: :delete_screenshot patch 'update_screenshot_description/:id' => 'packages#update_screenshot_description', as: :update_screenshot_description