From 262f4e0c2abfefbd6965358fdfd9a8c332a38d57 Mon Sep 17 00:00:00 2001 From: hukl Date: Wed, 7 Oct 2009 23:36:03 +0200 Subject: refactored revsions controller to act as a nested resource of nodes. boy that cleaned up some stuff quite a bit. also having tests for that is just feeling great --- app/controllers/revisions_controller.rb | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to 'app/controllers') diff --git a/app/controllers/revisions_controller.rb b/app/controllers/revisions_controller.rb index 32110ae..05e8acc 100644 --- a/app/controllers/revisions_controller.rb +++ b/app/controllers/revisions_controller.rb @@ -7,12 +7,12 @@ class RevisionsController < ApplicationController layout 'admin' def index + @node = Node.find(params[:node_id]) end def diff - @node = Node.find(params[:id]) + @node = Node.find(params[:node_id]) - puts @node.pages.length if @node.pages.length > 1 params[:start_revision] ||= @node.pages.all[-2].revision params[:end_revision] ||= @node.pages.all[-1].revision @@ -20,26 +20,19 @@ class RevisionsController < ApplicationController params[:start], params[:end] = 1, 1 end - @start = Page.find( :first, :conditions => { - :node_id => params[:id], - :revision => params[:start_revision] - }) - - @end = Page.find( :first, :conditions => { - :node_id => params[:id], - :revision => params[:end_revision] - }) - + @start = @node.pages.find_by_revision( params[:start_revision] ) + @end = @node.pages.find_by_revision( params[:end_revision] ) end def show - @node = Node.find(params[:id]) + @node = Node.find(params[:node_id]) + @page = @node.pages.find(params[:id]) end def restore page = Page.find(params[:id]) page.node.restore_revision! page.revision flash[:notice] = "Revision #{page.revision} restored" - redirect_to :back + redirect_to node_path(page.node) end end -- cgit v1.3