aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert2017-05-05 16:52:32 +0200
committerRobert2017-05-05 16:54:56 +0200
commit41b9b5decf022e748c6577baf9756bd785149e6f (patch)
treed2062cefd777d7ee74ce0b505137d0c5908d3384
parent3ce7b69d6620f4a6aa6aaaff4d79882761c9d975 (diff)
downloadchouette-core-41b9b5decf022e748c6577baf9756bd785149e6f.tar.bz2
Refs #3297
Nullification of foreign keys in delete route moved from an `after_destroy' to a `before_destroy' hook. (Motivation: Seemed like a good idea)
-rw-r--r--app/controllers/routes_controller.rb2
-rw-r--r--app/models/route_observer.rb2
2 files changed, 3 insertions, 1 deletions
diff --git a/app/controllers/routes_controller.rb b/app/controllers/routes_controller.rb
index f914a102b..5a73d397c 100644
--- a/app/controllers/routes_controller.rb
+++ b/app/controllers/routes_controller.rb
@@ -46,6 +46,8 @@ class RoutesController < ChouetteController
end
end
+ # overwrite inherited resources to use delete instead of destroy
+ # foreign keys will propagate deletion)
def destroy
destroy! do |success, failure|
diff --git a/app/models/route_observer.rb b/app/models/route_observer.rb
index e2217a75e..1848bbc85 100644
--- a/app/models/route_observer.rb
+++ b/app/models/route_observer.rb
@@ -14,7 +14,7 @@ class RouteObserver < ActiveRecord::Observer
end
end
- def after_destroy(route)
+ def before_destroy(route)
Rails.logger.debug "after_destroy(#{route.inspect})"
route.line.routes.where(opposite_route: route).update_all(opposite_route_id: nil)
end